จะค้นหาที่อยู่ ipv6 ของอุปกรณ์ที่เชื่อมต่อกับ Linux PC ของฉันได้อย่างไร


0

ฉันสามารถดูอุปกรณ์ที่เชื่อมต่อกับพีซี Linux ของฉันด้วย:

cat /proc/net/arp

แต่นี่แสดงเฉพาะที่อยู่ IPv4 และ MAC ของอุปกรณ์ที่เชื่อมต่อ ไม่มีที่อยู่ IPv6

จะค้นหาที่อยู่ IPv6 ของอุปกรณ์ที่เชื่อมต่อได้อย่างไร


1
“ ฉันสามารถเห็นอุปกรณ์ที่เชื่อมต่อกับ Linux PC ของฉัน” - แต่คุณทำไม่ได้ แคช ARP มีเฉพาะข้อมูลเกี่ยวกับโฮสต์ที่เครื่องของคุณมีการสื่อสารด้วย วิธีเดียวในการค้นหาโฮสต์ส่วนใหญ่คือเครื่องสแกนเครือข่ายเช่น nmap
Daniel B

คุณหมายถึงการเชื่อมต่อในแง่ที่ว่าอุปกรณ์อื่นอยู่ในเครือข่ายเดียวกัน - หรือเชื่อมต่อในแง่ที่ว่ามีการเปิดการเชื่อมต่อที่ใช้งานอยู่ระหว่างทั้งสองหรือไม่?
Marek Rost

คำตอบ:


2

นี่เป็นเพราะ IPv6 ไม่ได้ใช้ Address Resolution Protocol (ARP) ซึ่งใช้ Neighbor Discovery Protocol (NDP)

การใช้คำสั่งip neighborจะแสดงรายการแคช ARP และการค้นพบเพื่อนบ้านของ IPv6


0

คำสั่งที่ง่ายที่สุดคือการแสดงรายการการเชื่อมต่อทั้งหมดคือss | lessแต่เพื่อดูเฉพาะการเชื่อมต่อ tcp หรือ udp หรือ unix ใช้-tนั่นคือ

ss -t

สิ่งนี้จะแสดงการเชื่อมต่อ IPv4 และ IPV6 tcp ทั้งหมดให้คุณเห็น


  • ในการแสดงเฉพาะการเชื่อมต่อซ็อกเก็ต IPv4 ให้ใช้ตัวเลือก-f inetหรือ-4

    ss -tl -f inet หรือ

    เอสเอส -tl -4

  • ในขณะที่จะแสดงเฉพาะการเชื่อมต่อ IPv6 ให้ใช้ตัวเลือก-f inet6หรือ-6

    เอสเอส -tl6 หรือ

    ss -finet6


หรือเพียงสำหรับการรวมโหนด IPv4 และ IPv6 ที่อยู่ติดกันใช้

ip neighbour 

ซึ่งจะแสดงตารางเพื่อนบ้านปัจจุบันในเคอร์เนล

แต่หมายเหตุ : /proc/net/arpไม่แสดงรายการอุปกรณ์ที่เชื่อมต่อกับพีซีของคุณ มันแสดงรายการของอุปกรณ์บนซับเน็ตของคุณซึ่งพีซีของคุณทำ / เห็นคำขอ ARP หากคุณต้องการดูว่าอุปกรณ์ใดที่เชื่อมต่อกับพีซีของคุณคุณจะต้องใช้อุปกรณ์ที่netstatคล้ายกัน (ซึ่งจะแสดงทั้งอุปกรณ์ ipv4 และ ipv6 โดยอัตโนมัติ) ipv6 ไม่ใช้ ARP (ใช้ NDP)

ฉันหวังว่านี่จะช่วยได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.