มีวิธีที่จะรู้ว่าใครเป็นคนส่งเครื่องพีซีของฉันบนเครือข่ายของฉัน? เป็นไปได้หรือไม่ที่จะตรวจสอบแพ็กเก็ต ICMP ทั้งหมด? ฉันจะทำสิ่งนั้นได้อย่างไร
มีวิธีที่จะรู้ว่าใครเป็นคนส่งเครื่องพีซีของฉันบนเครือข่ายของฉัน? เป็นไปได้หรือไม่ที่จะตรวจสอบแพ็กเก็ต ICMP ทั้งหมด? ฉันจะทำสิ่งนั้นได้อย่างไร
คำตอบ:
ใช่เป็นไปได้ที่จะใช้tcpdump
ซึ่งเป็นเครื่องมือดมกลิ่นแพ็คเก็ตบรรทัดคำสั่งที่มีประสิทธิภาพและใช้กันอย่างแพร่หลายหรือเครื่องมือวิเคราะห์แพคเกจที่มีอยู่บนลินุกซ์
ใน Terminal ของคอมพิวเตอร์ที่คุณต้องการ minitor:
sudo tcpdump -i ethX icmp and icmp[icmptype]=icmp-echo
ตัวเลือก:
-n avoid a (potentially slow) reverse DNS query
−i interface
icmp[icmptype]=icmp-echo To print all ICMP packets that are echo requests/replies
มันจะเริ่มฟังethXและรอแพ็กเก็ตที่มาถึง
ตัวอย่าง: ฉันมี 2 pc win7 10.1.1.8 , Ubuntu 10.1.1.57ซึ่งจะตรวจสอบแพ็กเก็ตที่มาถึง:
บนอูบุนตู:
การอ้างอิง: nixCraft
ออกกำลังกายที่ดี@ nuxฉันชอบมัน
ฉันยังต้องการเพิ่มเคล็ดลับของฉันที่ฉันใช้เพื่อค้นหาผู้ที่กระตุกฉันโดยใช้avahi
เครื่องมือ (สามารถติดตั้งได้จากSynaptic
)
เมื่อฉันรันในเทอร์มินัลavahi-browse -rat
มันจะรวบรวมรายการการเชื่อมต่อทั้งหมดโดยอัตโนมัติเช่น:
hostname = [xxx-xxx.local]
address = [xxx::x:xxx:xxx:xxx:xxx] physical
address = [xx.xx.xxx.xx] ipv4 or ipv6
port = [xxx]
txt = [xxx]
ตัวอย่างเช่นฉันสามารถเห็นได้ตลอดเวลาว่าผู้ให้บริการอินเทอร์เน็ตของฉันกระตุกฉันระหว่างเซสชันของฉันเมื่อฉันเรียกใช้คำสั่งนี้
หากต้องการดูทุกสิ่งที่ avahi สามารถทำได้ให้เรียกใช้:
avahi-browse --help
แพ็คเกจนี้จะต้องทำการติดตั้ง (หากคุณยังไม่มี):
sudo apt-get install iptables-persistent
จากนั้นเพิ่มคำสั่งนี้ลงใน/etc/iptables/rules.v4
ไฟล์:
-A INPUT -p icmp --icmp-type echo-request -j LOG --log-prefix "LOG_IPTABLES_PING_REQUEST: "
ในการตรวจสอบว่าใครส่ง Ping ให้คุณเพียงแค่ตรวจสอบไฟล์บันทึก:
grep 'LOG_IPTABLES_PING_REQUEST: ' /var/log/messages
-n
แสดง IP แทนชื่อ DNSไม่ใช่ที่อยู่ MAC ดังนั้นการรันด้วย -n หลีกเลี่ยงเคียวรี DNS (อาจช้า) ย้อนกลับ