ฉันต้องการวิธีง่ายๆในการแสดงข้อมูล TCP ทั้งหมด (ไม่ใช่ส่วนหัว TCP หรืออะไรก็ได้) ไปยังส่วนต่อประสานใด ๆ บนกล่อง Linux ของฉัน
ตัวอย่างเช่นฉันต้องการคำสั่งเวทมนต์ที่ถ้าฉันทำ:
magic_commmand_I_want port=1234
ถ้ามีเซิร์ฟเวอร์กำลังฟังพอร์ต 1234 ในเครื่องของฉันและมีคนทำ:
echo hello | nc localhost 1234
# Note: "nc" (aka "netcat") is a simple tool that sends data to a host/port
จากนั้นคำสั่งเวทมนต์ก็จะพิมพ์ออกมา:
hello
ฉันได้ลอง "tcpdump", "ethereal", "tethereal", "tshark" และอื่น ๆ แต่มันไม่ชัดเจนว่าคุณจะพาพวกเขาไปที่:
- ไม่แสดงที่อยู่ IP หรือข้อมูลเมตาอื่น ๆ
- แสดงเฉพาะ "data" ที่ถูกส่งไม่ใช่เฉพาะแพ็กเก็ตและส่วนหัว
- พิมพ์ข้อมูลตามที่เป็นอยู่ไม่เป็นเลขฐานสิบหกและไม่ใช่ด้วยเครื่องหมายแพ็คเก็ตออฟเซ็ต
- sniff การรับส่งข้อมูลเครือข่ายทั้งหมด (ไม่ว่าจะเป็นบนeth0หรือeth1หรือlo , etc ... )
ใช่คุณอาจจะรวมชุดคำสั่ง unix แบบไพพ์เข้าด้วยกันเพื่อทำสิ่งนี้ แต่นั่นไม่ใช่เรื่องง่ายที่จะจดจำในครั้งต่อไป :)
หากคุณมีตัวอย่างง่ายๆของบรรทัดคำสั่งที่ถูกต้องที่ทำเช่นนี้นั่นคือสิ่งที่ฉันต้องการ