Score:1

'socat' ไม่แสดงแพ็กเก็ต UDP ขาเข้า แต่ Wireshark แสดง

ธง gu
QF0

ลิงค์เป็นภาพของ การถ่ายโอนข้อมูล Wireshark ของเฟรมอีเธอร์เน็ต 60 ไบต์ขาเข้าซึ่งมีแพ็กเก็ต UDP เพย์โหลดแพ็กเก็ตคือคำเดียว 'สวัสดี' (ขออภัย ฉันมีตัวแทนไม่เพียงพอที่จะวางรูปภาพโดยตรง)

ปัญหา: ฉันไม่สามารถรับ โซแคท หรือ เอ็นซี เพื่ออ่านและแสดงแพ็คเก็ตนี้ (ไม่เป็นความจริงทั้งหมด ดู #1 ด้านล่าง)

ฉันเรียกใช้ผู้อ่านเป็น:

$ socat UDP:192.168.50.129:5000 -

ฉันได้ลองใช้รูปแบบที่อยู่ที่เกี่ยวข้องกับ UDP ต่างๆ รวมทั้งรูปแบบนี้ ผู้เขียนทำงานเป็น:

$ socat อ่านไลน์ UDP:192.168.50.132:5000

คำถาม: ฉันจะแสดงแพ็กเก็ตขาเข้าได้อย่างไร โดยควรแสดงเป็นคำเดียวสวัสดี?

น่าเสียดายที่มีภาวะแทรกซ้อนบางอย่าง:

#1

ถ้าผมเรียกใช้ผู้อ่านเป็น # อินเทอร์เฟซ socat:ens4f0 - แล้วฉัน ทำ รับการแสดงเฟรมที่เข้ามา (แสดงสองครั้งด้วยเหตุผลบางประการ) มีเอาต์พุตไบนารีบางส่วนและตามด้วยคำ สวัสดี. อย่างไรก็ตาม ฉันไม่สามารถทำเช่นนี้ได้ เนื่องจากในที่สุดจะมีกระบวนการอื่นๆ ที่ใช้อินเทอร์เฟซนี้ ดังนั้นฉันจึงต้องเข้าใจว่าเกิดอะไรขึ้น

#2

เฟรมขาเข้ามีที่อยู่ IP dst ของ 192.168.50.132; ไฟร์วอลล์ถูกตั้งค่าให้แปลงเป็น 192.168.50.129ซึ่งเป็นที่อยู่ที่ผู้อ่านกำลังฟังอยู่:

  # iptables -t nat -A PREROUTING -i ens4f0 -j DNAT --to 192.168.50.129

เอาต์พุต Wireshark แสดงแพ็กเก็ตขาเข้าก่อนการแปลงนี้ ดังนั้นแสดงที่อยู่ IP dst เป็น 192.168.50.132. ฉันไม่รู้จริง ๆ ว่าสิ่งนี้ใช้ได้หรือไม่ - ฉันจะรับได้ไหม โซแคท เพื่อสร้างการถ่ายโอนข้อมูลฐานสิบหกของสิ่งที่เห็นจริง ๆ ens4f0?

#3

นี่เป็นเรื่องยาก แต่ฉันหวังว่ามันจะไม่เกี่ยวข้องกัน นี่เป็นการทดสอบการย้อนกลับ: เฟรมเดียวจะดับลง ens4f0, ถูกวนกลับโดยฮาร์ดแวร์ภายนอก และถูกส่งกลับโดยไม่ได้แก้ไขไปยัง ens4f0. NIC มีที่อยู่ IP 192.168.50.129. ฉันมี ip ใกล้เพิ่ม คำสั่งที่เส้นทางเข้าถึง 192.168.50.132 ออกจาก ens4f0 ไปยังฮาร์ดแวร์ภายนอก แพ็กเก็ตถูกส่งกลับโดยไม่มีการแก้ไข ซึ่งเป็นสาเหตุที่ฉันต้องการ iptables คำสั่งแปลงที่อยู่ IP dst กลับเป็น ens4f0 ที่อยู่.

QF0 avatar
gu flag
QF0
สวัสดี @A.B: สำหรับ XY ปัญหาที่เกิดขึ้นจริงคือ #3: ทำการทดสอบย้อนกลับโดยใช้การ์ดเครือข่ายเดียว ลูปแบ็คต้องผ่านชุดทดสอบภายนอก แต่สามารถพิจารณาได้ว่าเป็นสายเคเบิลลูปแบ็คของอีเทอร์เน็ตทั่วไป ฉันบังคับให้ทราฟฟิกไปภายนอกโดยกำหนดที่อยู่ IP จำลอง (132) และ `ip ใกล้เพิ่ม` ฉันรู้ว่าวิธีนี้ได้ผล และทราฟฟิกภายนอกจะถูกส่งกลับไปที่ `ens4f0` ปัญหาคือการอ่านแพ็กเก็ต ฉันหวังว่าจะทำสิ่งนี้กับ NAT โดยเปลี่ยนที่อยู่จำลอง (132) เป็นที่อยู่ IP จริงของการ์ด (129) อย่างไรก็ตาม ฉันไม่คิดว่า NAT จะทำงาน
A.B avatar
cl flag
A.B
ฉันลบความคิดเห็นของฉันเพราะฉันคิดว่าทุก 3 คะแนนมีปัญหา การใช้งาน socat การใช้ stateful nat กับ stateless nat ข้างหน้า การใช้การรับส่งข้อมูลย้อนกลับที่มีที่อยู่เดียวกัน ทั้งหมดนี้ในบริบทของ nat คำอธิบายไม่ตรงกับคำสั่ง เช่น: "ไฟร์วอลล์ถูกกำหนดให้แปลงเป็น 192.168.50.129" ไม่ตรงกับ "--to 192.168.50.132" และสำหรับเป้าหมายที่ฉันถาม: สำหรับแอปพลิเคชันใดที่จะเป็นประโยชน์ ไม่ใช่วิธีการทำ แต่ทำไมจึงทำ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา