Tcpdump บนหลายอินเตอร์เฟส


17

ฉันต้องจับภาพปริมาณการใช้งานบนเซิร์ฟเวอร์ CentOS 5 ซึ่งทำหน้าที่เป็นเว็บพร็อกซี่ที่มี 2 อินเตอร์เฟส wan และ 1 LAN เพื่อแก้ไขปัญหาพร็อกซีแปลก ๆ ฉันต้องการจับภาพการสนทนาเต็มรูปแบบ เนื่องจากการเชื่อมต่อภายนอกนั้นมีความสมดุลระหว่างอินเทอร์เฟซ WAN สองตัวฉันจึงสงสัยว่าเป็นไปได้หรือไม่ที่จะจับภาพพร้อม ๆ กันบนอินเทอร์เฟซทั้งหมด

ฉันเคยใช้ tcpdump มาก่อน แต่ก็ยอมรับได้เพียงครั้งละหนึ่งอินเตอร์เฟสเท่านั้น ฉันสามารถเรียกใช้กระบวนการแบบขนาน 3 กระบวนการเพื่อจับภาพบนอินเทอร์เฟซทั้งหมด แต่แล้วฉันก็จบลงด้วยไฟล์การจับภาพ 3 แบบที่แตกต่างกัน

วิธีที่ถูกต้องในการทำเช่นนี้คืออะไร?


AdamRushad ถูกต้อง คุณสามารถใช้wiresharkเช่นกัน
Ryan Babchishin

คำตอบ:


25

ตามหน้า man tcpdump:

บนระบบ Linux ที่มีเคอร์เนล 2.2 หรือใหม่กว่าอาร์กิวเมนต์ของอินเตอร์เฟส '' any '' สามารถใช้เพื่อดักจับแพ็กเก็ตจากอินเตอร์เฟสทั้งหมด โปรดทราบว่าการจับภาพบนอุปกรณ์ 'ใด ๆ ' จะไม่สามารถทำได้ในโหมดที่หลากหลาย

ดังนั้นคุณควรจะสามารถรัน: tcpdump -i anyเพื่อเก็บข้อมูลในทุกอินเตอร์เฟสในเวลาเดียวกันเป็นไฟล์จับภาพเดียว


2
ไม่ทำงานถ้าฉันต้องการจับบางส่วน แต่ไม่ใช่ทั้งหมด
Thayne

9

วิธีที่ฉันจะใช้วิธีนี้คือการถ่ายโอนข้อมูลในแต่ละอินเทอร์เฟซไปยังไฟล์แยกต่างหากจากนั้นรวมเข้าด้วยกัน อินเทอร์เฟซใด ๆ รวมถึงปริมาณการใช้งานที่สามารถก่อให้เกิดมลพิษจับ

สิ่งนี้ยังช่วยในการวิเคราะห์กระแสข้อมูลแพ็คเก็ตต่ออินเตอร์เฟสโดยไม่มีการกรองที่ซับซ้อน

ฉันจะจับภาพในเทอร์มินัล 3 เครื่องหรือโดยแบ็คกราวน์คำสั่งด้วย &

แฟล็ก -nn ปิดความละเอียด dns สำหรับความเร็ว -s 0 บันทึกแพ็คเก็ตแบบเต็มและ -w เขียนไปยังไฟล์

tcpdump -i wan0 -nn -s 0 -w wan0.dump
tcpdump -i wan1 -nn -s 0 -w wan1.dump
tcpdump -i lan0 -nn -s 0 -w lan0.dump

จากนั้นฉันจะรวมไฟล์เข้ากับคำสั่งผสานจาก wireshark:

mergecap -w merged.dump wan0.dump wan1.dump lan0.dump

2

หากต้องการดักจับ tcpdump บนอินเตอร์เฟสทั้งหมดให้ใช้

tcpdump -i any

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