จะบอกได้อย่างไรว่าอินเตอร์เฟสใดที่การเชื่อมต่อ TCP จะดับ


10

ฉันมีเซิร์ฟเวอร์ที่มีอินเตอร์เฟสอีเธอร์เน็ตหลายตัว วิธีที่ง่ายที่สุดในการบอกอินเตอร์เฟสการเชื่อมต่อ TCP ขาออกจะเป็นอย่างไร ผลลัพธ์ของ "netstat -rn" เป็นภาษากรีกสำหรับฉันดังนั้นหากคำตอบของคุณคือ "ดูตารางเส้นทางท้องถิ่น" โปรดระบุรายละเอียดและชัดเจน

คำตอบ:


13

สำหรับฉันฉันสามารถมองเห็นสิ่งที่อินเตอร์เฟซที่ผมได้มีสิทธิใช้netstat -rnหรือroute -n

cyrex@cyrex:~$ netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.48.0.1      0.0.0.0         UG        0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
192.48.0.0      0.0.0.0         255.255.224.0   U         0 0          0 eth0

หรือ netstat -r

cyrex@cyrex:~$ netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         192-48-0-1.dyn. 0.0.0.0         UG        0 0          0 eth0
link-local      *               255.255.0.0     U         0 0          0 eth0
192.48.0.0      *               255.255.224.0   U         0 0          0 eth0

ในทั้งสองกรณีฉันสามารถเห็นชื่อของส่วนต่อท้ายในกรณีนี้มันคือeth0

ข้อมูลที่กำหนดโดยคำสั่งนี้เป็นไปตาม (แหล่งที่พบที่นี่ ):

ปลายทาง - เครือข่ายปลายทางหรือโฮสต์ปลายทาง

เกตเวย์ - ที่อยู่เกตเวย์หรือ*ถ้าไม่มีการตั้งค่า

Genmask - netmask สำหรับเน็ตปลายทาง

 255.255.255.255 for the host destination.
 0.0.0.0 for the default route.  

ธง - ธงที่เป็นไปได้รวมถึง:

 U (route is up)  
 H (target is a host)  
 G (using gateway)  
 R (reinstate route for dynamic routing)  
 D (dynamically installed by daemon or redirect)  
 M (modified from routing daemon or redirect)  
 A (installed by addrconf)  
 C (cache entry)  
 ! (reject route)  

MSS - ขนาดเซกเมนต์สูงสุดเริ่มต้นสำหรับการเชื่อมต่อ TCP ผ่านเส้นทางนี้

หน้าต่าง - ขนาดหน้าต่างเริ่มต้นสำหรับการเชื่อมต่อ TCP ผ่านเส้นทางนี้

irtt - Initial RTT (เวลาไปกลับ) เคอร์เนลใช้สิ่งนี้เพื่อคาดเดาเกี่ยวกับพารามิเตอร์โปรโตคอล TCP ที่ดีที่สุดโดยไม่รอคำตอบ (อาจช้า)

Iface - อินเตอร์เฟสที่แพ็กเก็ตสำหรับเส้นทางนี้จะถูกส่ง

สาขาอื่น ๆ สามารถ:

Metric - ระยะทางไปยังเป้าหมาย (โดยปกติจะนับเป็นฮ็อพ) ไม่ได้ถูกใช้โดยเคอร์เนลล่าสุด แต่อาจต้องการโดยการกำหนดเส้นทาง daemons

Ref - จำนวนการอ้างอิงไปยังเส้นทางนี้ (ไม่ใช้ในเคอร์เนล Linux)

ใช้ - จำนวนการค้นหาเส้นทาง ขึ้นอยู่กับการใช้ -F และ -C นี่จะเป็นเส้นทางแคชที่ขาดหายไป (-F) หรือ Hit (-C)

HH (แคชเท่านั้น) - จำนวนรายการ ARP และเส้นทางแคชที่อ้างถึงแคชส่วนหัวของฮาร์ดแวร์สำหรับเส้นทางแคช นี่จะเป็น -1 หากไม่จำเป็นต้องระบุที่อยู่ฮาร์ดแวร์สำหรับอินเทอร์เฟซของเส้นทางที่แคช (เช่นแท้จริง)

Arp (แคชเท่านั้น) - ไม่ว่าที่อยู่ฮาร์ดแวร์สำหรับเส้นทางแคชจะทันสมัยหรือไม่

ตอนนี้คำถามที่อยู่ในมือ วิธีที่ง่ายที่สุดที่ผมจำได้ในขณะนี้ (เช่นเคยมีหลายวิธีในการทำในสิ่งเดียวกัน) iptrafคือการใช้ เพียงติดตั้ง:

sudo apt-get install iptraf

และเรียกใช้กับราก priveleges: sudo iptraf

ในเมนูของiptrafเลือกIP ตรวจสอบการจราจรและจากนั้นเลือกทุกการเชื่อมต่อ ที่ควรแสดงการเชื่อมต่อ TCP ทั้งหมดและอินเทอร์เฟซที่เกี่ยวข้อง มันเป็นพื้นฐานซึ่งเป็นสิ่งที่ดีสำหรับวัตถุประสงค์ในการตรวจสอบ


คำตอบที่ดีหลุยส์ คุณสามารถใช้คำสั่งroute
Panther

1
แทนที่จะบอกว่าไปดูและดูว่ามันจะไปที่ไหนคำตอบที่ถูกต้องควรบอกว่าให้ข้อมูลตารางเส้นทางนี้คุณสามารถดูที่การจราจรสำหรับที่อยู่ที่กำหนดจะไป
psusi

8

คุณสามารถเคียวรีตารางการกำหนดเส้นทางเคอร์เนลโดยใช้ipคำสั่ง คำroute getสั่งย่อยจะบอกคุณอย่างชัดเจนว่าเคอร์เนลจะกำหนดเส้นทางแพ็คเก็ตไปยังที่อยู่ปลายทางอย่างไร:

 $ ip route get to 10.0.2.2
 10.0.2.2 dev eth0  src 10.0.2.15

แต่ทว่า

$ ip route get to 192.168.3.5
192.168.3.5 via 10.0.2.2 dev eth0  src 10.0.2.15

และ

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