ฉันจะทำให้ tcpdump ไม่พิมพ์ส่วนหัว tcp ได้อย่างไร


28

ฉันลองสิ่งนี้:

tcpdump -s 1500 -A -l -i eth0 '(port 6667) and (length > 74)'

ฉันต้องการเพียงส่วน ascii ของมัน ฉันจะลบที่เหลือได้อย่างไร


1
ด้วย tshark คุณสามารถทำได้ด้วย: tshark -l -i eth0 -f 'พอร์ต 6667 และมากกว่า 74' -T field -e-data data
Marcin

มีข้อความว่า 28 แพ็กเก็ตที่จับได้ แต่ไม่ได้พิมพ์อะไรไปยัง STDOUT
coder

คุณหมายถึง ASCII7 หรือเปล่า
Mircea Vutcovici

คำตอบ:


15

ตามที่ Josh แนะนำให้ tcpflow สามารถพิมพ์ข้อมูล TCP แพ็กเก็ตไปยังไฟล์หรือ STDOUT คุณสามารถไพพ์ tcpdump ถึง tcpflow แบบนี้:

tcpdump -i lo -l -w - port 23 | tcpflow -C -r -

เพียงดูด้านใดด้านหนึ่งของการสนทนาคุณสามารถใช้ตัวกรองสำหรับ tcpdump dst port 23เช่น


4
ทำไมคุณต้องเริ่มจากtcpflowรูต?
Ruslan

5

ฉันไม่แน่ใจเกี่ยวกับไวยากรณ์ที่แน่นอนสำหรับtcpdump... อันที่จริงฉันได้ทำเครื่องหมายคำถามนี้ว่าเป็นรายการโปรดเพราะฉันอยากจะรู้! แต่เป็นทางเลือกอื่นคุณสามารถลองใช้tcpflowแทน มันใช้งานได้เหมือนกัน แต่มันพิมพ์ ASCII output ได้ดีกว่ามาก tcpdumpมันได้รับการยกเว้นส่วนหัวและแพ็คเก็ตพิมพ์ตามลำดับเป็นกระแสเพื่อให้มันง่ายต่อการอ่านและปฏิบัติตามในช่วงเวลากว่า


5

ฉันรู้สึกว่าทางออกที่ดีที่สุดคือทิ้งไว้ tcpdump ไม่มีท่อใด ๆ :

tcpflow -c port 6667

และนั่นคือมัน


คุณช่วยชีวิตฉันฉันต้องการซื้อคุ้กกี้ให้คุณ
gdaras

4

วิธีที่รวดเร็วและสกปรกในการทำเช่นนี้คือการกรองเอาต์พุตผ่านสตริง:

tcpdump -nli eth0 '(port 6667) and (length > 74)' -s 0 -w - | strings

บางครั้งคุณไม่มีเครื่องมืออื่น ๆ และเพื่อให้สามารถมองเห็นสิ่งที่บรรจุได้อย่างรวดเร็วก็เพียงพอแล้ว มันไม่ดีถ้าคุณต้องการน้ำหนักบรรทุกที่แน่นอนสำหรับการฉีดหรือการวิเคราะห์ที่แน่นอนแน่นอน


1

หากคุณต้องการเพียงส่วน ASCII คุณสามารถใช้: tcpdump -s 1500 -A -l -i eth0 '(port 6667) and (length > 74)'|sed 's/\.//g'หรือกับ ngrep:ngrep -d eth0 -lq . '(port 6667) and (length > 74)' |sed -rn '/^ /s/\.//gp'


1

ฉันมีปัญหาเดียวกันเมื่อสัปดาห์ที่แล้ว - ฉันใช้ wireshark gui แทนและทำ "คัดลอกอ่าน ascii" สำหรับแพ็กเก็ตที่น่าสนใจ

ฉันพยายามประสบความสำเร็จในการปักหมุดปัญหาด้วยคำขอ http ไปยังบริการเว็บและคำตอบ XML

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