วิธีเชื่อมต่อกับบรรทัดรับคำสั่งพอร์ต udp


14

นี่คือสิ่งที่ฉันพยายาม แต่ดูเหมือนจะไม่ทำงาน:

[root@ ~]# netstat -a|grep 48772
udp        0      0 *:48772                     *:*                                     
[root@ ~]# telnet localhost 48772
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host: Connection refused

คำตอบ:



18

คุณต้องใช้netcatแทน telnet รองรับเฉพาะ tcp สิ่งนี้จะทำงาน:

$ nc -u localhost 48772

netcat จะติดตั้งตามค่าเริ่มต้นบนเครื่อง linux ที่ทันสมัยที่สุด (สมมติว่าเป็นสิ่งที่คุณมี)

นอกจากนี้เพื่อความสมบูรณ์ฉันต้องการชี้ให้เห็นว่ามีเครื่องมืออื่นที่เรียกว่าsocatซึ่งอธิบายตัวเองว่า 'netcat ++' อาจเป็นสิ่งที่ดีที่จะตรวจสอบ โดยทั่วไปแล้ว netcat จะทำสิ่งที่คุณต้องการ


5

ตัวเลือกอื่นคือการใช้socat :

$ socat - UDP:localhost:48772

ซึ่งเชื่อมต่อเข้ามาตรฐานในการพอร์ต 48772 localhostบน

ในทางกลับกันหากต้องการตั้งค่าเซิร์ฟเวอร์ให้ฟังบนพอร์ต UDP 48772 ที่ส่งออกไปยังเอาต์พุตมาตรฐาน:

$ socat UDP-RECV:48772 STDOUT

ถ้าพอร์ตต่ำกว่า 1024 แล้วคุณจำเป็นต้องเรียกใช้ฟังเป็นหรือการใช้งานroot socatสามารถทำหน้าที่เป็นรีเลย์ (ที่จริงแล้วมันมีจุดประสงค์หลัก) ซึ่งมันรับอินพุตในพอร์ตหนึ่งและส่งออกไปยังพอร์ตอื่น แน่นอนnetcat ++sudo

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