ฉันได้ลอง netcat สองเวอร์ชันหลัก: GNU และ BSD (ของฉันคือเวอร์ชั่น BSD)
ในเวอร์ชัน GNU คำสั่ง $ nc -l -p 12345 ทำงานได้ดี แต่ด้วย BSD ตัวเลือก -l (ฟัง) ไม่สามารถใช้ร่วมกับ -p (พอร์ตท้องถิ่น)
ฉันไม่เข้าใจว่าทำไมจึงมีความแตกต่างเช่นนี้ระหว่างสองเวอร์ชันนี้ ในรุ่น BSD เมื่อฉันใช้ตัวเลือก -p มันจะเรียกโดยอัตโนมัติ -l (ฟัง)?
ขอบคุณ ;-)
ป.ล. : https://bugs.launchpad.net/ubuntu/+source/netcat-openbsd/+bug/590925/comments/3 -p จะแตกต่างกันระหว่างทั้งสอง รุ่น OpenBSD ใช้เพื่อตั้งค่าพอร์ตต้นทางสำหรับการเชื่อมต่อระยะไกลในขณะที่ nc ดั้งเดิมใช้เพื่อระบุพอร์ตท้องถิ่นที่จะรับฟังเมื่ออยู่ในโหมดฟัง
netcat-traditional
สำหรับ GNU netcat-openbsd
และnetcat
สำหรับ BSD
-l
ใช้พอร์ตเพื่อฟังดังนั้นจึง-p
ไม่จำเป็นเลย ผมไม่แน่ใจว่าสิ่งที่ไม่ได้โดยไม่ต้อง-p
-l
ฉันไม่รู้ว่าทำไมถึงมีความแตกต่าง