บันทึกสตรีมมัลติคาสต์บนโฮสต์ Linux ที่มีหลายโฮม


2

ฉันมีสิ่งที่ดูเหมือนกรณีการใช้งานที่ง่ายที่สุด แต่ก็ไม่มีอะไรที่น่าพอใจ

ฉันมีโฮสต์หลาย homed และฉันต้องการฟัง multicasts บน eth1 และผลักส่วนของข้อมูลทั้งหมด (ไม่รวมส่วนหัวของแพ็กเก็ต UDP เพียงส่วนของข้อมูล) ลงในไฟล์ นี่คือบางสิ่งที่ฉันได้ลองไปแล้ว

  • socat ดูเหมือนว่ามันจะเป็นเครื่องมือที่สมบูรณ์แบบ แต่ฉันไม่รู้ว่าจะใช้ไวยากรณ์อย่างไรและตัวอย่างทั้งหมดที่ฉันพบว่าเป็นกรณีการใช้งานที่ซับซ้อนมากขึ้น ฉันไม่สามารถสร้างหัวหรือก้อยของตัวอย่างที่ฉันเห็นได้ ถ้าใครรู้ฉันจะทำ socat ทำยังไงดี? รู้สึกอิสระที่จะเรียกฉันว่าคนงี่เง่าที่ไม่ได้คิดออก
  • VLC วางแพ็กเก็ตเป็นครั้งคราวซึ่งไม่เป็นที่ยอมรับ ฉันต้องการให้มันทำงานเป็นเวลานานโดยไม่ต้องแพ็คเก็ตเดียว ฉันเห็นว่าการลดลงนี้เป็นครั้งคราวใน vlc หลายเวอร์ชันบนหลายแพลตฟอร์มและฉันก็ไม่เชื่อใจ
  • Wireshark มันใช้งานได้และไม่เคยทิ้งแพ็กเก็ตอย่าง vlc (แม้ในขณะที่รันพร้อมกันในเวลาเดียวกัน) แต่ฉันไม่ต้องการแพ็กเก็ตดั๊กจริง ๆ แค่เพย์โหลด ฉันสามารถใช้ wireshark ในการเขียนข้อมูลทั้งหมดลงในไฟล์โดยใช้คุณสมบัติ "follow UDP stream" แต่ใช้เวลานานและป้องกันไม่ให้ฉันบันทึก payload แบบเรียลไทม์ รวมทั้งดูเหมือนว่าจะเป็นไปได้เฉพาะใน guir wireshark เวิร์กโฟลว์ของฉันจะง่ายขึ้นมากหากไม่มี GUI
  • netcat ฟังดูเหมือนเครื่องมือที่ถูกต้อง แต่ไม่มีแจ็คอึเมื่อพูดถึงการรับมัลติคาสต์ ไม่ทราบวิธีแก้จุดบกพร่องหรือหากไม่สามารถใช้งานกับมัลติคาสต์ได้ นอกจากนี้ฉันกำลังเรียกใช้ซวยเพื่อบังคับให้ igmp เชื่อมต่อและฉันสามารถเห็นด้วย tcpdump ว่าสิ่งนี้ทำงาน กรุณาแนะนำถ้าฉันไม่มีอะไรโง่
  • Nc6 ผลลัพธ์เดียวกับ netcat

คำตอบ:


3
socat -u UDP4-RECV:6666,ip-add-membership=224.1.0.1:0.0.0.0 CREATE:test.out

อาจไม่ดีที่สุด แต่ควรใช้งานได้


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