ฉันพยายามทำสิ่งที่ชอบ:
echo "request" | nc -u 1.1.1.1 9999 > response.txt
ฉันสามารถเห็นการตอบสนองที่มาจากเซิร์ฟเวอร์ (พร้อมtcpdump
) หลังจากรันบรรทัดนี้
อย่างไรก็ตาม.txtของฉันยังว่างอยู่
มีวิธีรับไหม
ฉันพยายามทำสิ่งที่ชอบ:
echo "request" | nc -u 1.1.1.1 9999 > response.txt
ฉันสามารถเห็นการตอบสนองที่มาจากเซิร์ฟเวอร์ (พร้อมtcpdump
) หลังจากรันบรรทัดนี้
อย่างไรก็ตาม.txtของฉันยังว่างอยู่
มีวิธีรับไหม
คำตอบ:
Netcat เริ่มต้น "พูดคุย" UDP (ค่าเริ่มต้นคือ TCP) โดยการระบุตัวเลือกบรรทัดคำสั่ง -u นี่คือตัวอย่างของการเชื่อมต่อกับเซิร์ฟเวอร์เวลา RFC 867 โดยใช้ UDP โปรดทราบว่ามีการระบุที่อยู่ IP หรือชื่อ DNS ของโฮสต์อื่นก่อนและหมายเลขพอร์ตจะถูกระบุเป็นลำดับที่สอง - เช่นเดียวกับโปรแกรม telnet ส่วนใหญ่ หลังจากทำการเชื่อมต่อเสร็จแล้วคุณอาจต้องกดปุ่ม Enter เพื่อรับเซิร์ฟเวอร์เวลาเพื่อส่งเวลาปัจจุบันให้คุณ (นี่อาจเป็นปัญหาของคุณ)
nc -u igor.alcpress.com 13
พฤ 15 ก.ย. 14:41:57 น
เนื่องจาก UDP ไม่ใช่โปรโตคอลที่มุ่งเน้นการเชื่อมต่อการเชื่อมต่อจะยังคง "เปิด" จนกว่าคุณจะยุติโปรแกรมโดยการกด Ctrl-C
================================================== ====================
มันตอบหากคุณไม่เปลี่ยนเส้นทางออกหรือไม่
ลอง :echo "request" | nc -u 1.1.1.1 9999 | tee response.txt