ฉันจะดมกลิ่นแพ็คเก็ตสื่อสารผ่านพอร์ตอนุกรมบน Linux ได้อย่างไร
ฉันจะดมกลิ่นแพ็คเก็ตสื่อสารผ่านพอร์ตอนุกรมบน Linux ได้อย่างไร
คำตอบ:
มีตัวเลือกน้อย:
sersniffเป็นโปรแกรมง่าย ๆ ในการ tunnel / sniff ระหว่าง 2 พอร์ตอนุกรม
Serial to Network Proxy (ser2net)เป็นช่องทางให้ผู้ใช้เชื่อมต่อจากการเชื่อมต่อเครือข่ายไปยังพอร์ตอนุกรม
SerialSpyทำหน้าที่เป็นอุปกรณ์การส่งผ่านแบบอนุกรม มันรับฟังข้อมูลที่เข้ามาในสองพอร์ตอนุกรมและส่งต่อไปเพื่อให้อุปกรณ์ทำหน้าที่ราวกับว่าพวกเขาเชื่อมต่อโดยตรง นอกจากนี้ยังบันทึกข้อมูลในขณะที่เคลื่อนผ่านพอร์ต
sercdเป็นตัวเปลี่ยนเส้นทางพอร์ตอนุกรมที่เข้ากันได้กับ RFC 2217 ช่วยให้คุณแบ่งปันพอร์ตอนุกรมผ่านเครือข่าย มันขึ้นอยู่กับความน่าเบื่อ โปรโตคอล RFC2217 เป็นส่วนขยายของ telnet และอนุญาตให้เปลี่ยนพารามิเตอร์พอร์ตการสื่อสาร
SerLooKเป็นแอพพลิเคชั่น KDE สำหรับตรวจสอบข้อมูลผ่านสายอนุกรม สามารถทำงานเป็นเทอร์มินัลไบนารีที่ส่งและรับข้อมูลผ่านพอร์ตที่กำหนด (โหมด Point to Point) และแสดงผลในมุมมองที่แยกต่างหาก แต่ละมุมมองสามารถกำหนดค่าให้แสดงข้อมูลเป็นเลขฐานสิบหกทศนิยมฐานแปดไบนารีและ ASCII แบบดิบ นอกจากนี้ยังสามารถดำเนินการ I / O ผ่านมุมมองการจำลองเทอร์มินัลและกำหนดพอร์ตที่สองและตรวจสอบการรับส่งข้อมูลระหว่างโฮสต์ภายนอกสองเครื่องโดยใช้สายเคเบิล "Y" (โหมด Snooper)
nullmodemสร้างเครือข่ายเสมือนของเทอร์มินัลเทียม มันสามารถใช้เป็นอะแดปเตอร์เพื่อเชื่อมต่อสองโปรแกรมที่ปกติต้องใช้การ์ดเชื่อมต่อแบบอนุกรม
จอภาพttywatchบันทึกและมัลติมิเตอร์ I / O ของเทอร์มินัล มันมีการหมุนบันทึกในตัวเต็มรูปแบบและสามารถใช้ telnet เช่นเดียวกับพอร์ต TTY ท้องถิ่น
Sniffer บรรทัดอนุกรม (slsnif) เป็นยูทิลิตี้การบันทึกพอร์ตอนุกรม มันฟังพอร์ตอนุกรมที่ระบุและบันทึกข้อมูลทั้งหมดผ่านพอร์ตนี้ในทั้งสองทิศทาง
socat
1)tee
เอาท์พุทจะทำให้คุณสองพอร์ตsocat -d -d pty,raw,echo=0 pty,raw,echo=0
...N PTY is /dev/pts/27... N PTY is /dev/pts/28
2) sudo cat /dev/ttyS0 | tee /dev/pts/27
และใน sudo cat /deb/pts/27 | tee /dev/ttyS0
terminal สุดท้าย 3) /dev/tty/28
การเชื่อมต่อโปรแกรมของคุณจะ คำสั่งทีสองจะดัมพ์ทั้งสองทิศทางไปยังคอนโซลและส่งต่อไปยัง / จากพอร์ตอนุกรมจริง โปรดทราบว่าการตั้งค่าพอร์ตเช่น baudrate ต้องถูกกำหนดค่าไว้ล่วงหน้า
cat /dev/pts/27 | sudo tee /dev/ttyS0 serial-caps
และจะช่วยถ้าเป็นโปรโตคอลไบนารี:xxd
cat /dev/pts/27 | sudo tee /dev/ttyS0 serial-caps | xxd
/deb/pts/27
/dev/pts/27
ก็cat /deb/pts/27 | tee /dev/ttyS0
ควรจะเป็นcat /dev/pts/27 | sudo tee /dev/ttyS0
ฉันพยายามสกัดกั้น ( คัดลอกที่ GitHub ) และประสบความสำเร็จในการใช้งาน ครั้งแรกที่ฉันวิ่งบนพอร์ตที่น่าสนใจ:
interceptty /dev/ttyACM0
จากนั้นฉันเชื่อมต่อโปรแกรมภายใต้การทดสอบกับเทอร์มินัลหลอก/dev/pts/5
ที่สร้างการดักฟัง
ฉันพยายามใช้slsnifแต่ฉันพบว่ามีข้อผิดพลาด:
Failed to open a pty: No such file or directory
รายการส่งเมลนี้บ่งชี้ว่า slsnif รองรับ "ปลอม" เทอร์มินัลหลอก ( /dev/ttyp0
ฯลฯ ) ซึ่งอาจไม่ได้ใช้กับเคอร์เนล Linux ปัจจุบัน
interceptty
และทำงานได้!
ลองใช้jpnevulator (เดเบียนบรรจุ) หรือslsniff โปรดทราบว่า slsniff ใช้โมเดลการจำลองเทอร์มินัลที่เลิกใช้แล้ว