เกริ่นนำ:ฉันได้สร้างฟังก์ชั่นทุบตีที่สามารถตรวจสอบได้ว่าพอร์ตนั้นสามารถใช้งานได้หรือไม่และเพิ่มขึ้นทีละ 1 ถ้าเป็นเท็จจนกว่าจะถึงหมายเลขพอร์ตสูงสุดที่แน่นอน เช่นถ้าพอร์ต 500 ใช้งานไม่ได้จะมีการตรวจสอบความพร้อมของ 501 จนถึง 550
จุดมุ่งหมาย:เพื่อทดสอบฟังก์ชั่นทุบตีนี้ฉันจำเป็นต้องสร้างช่วงของพอร์ตที่อยู่ในสถานะ LISTEN
ความพยายาม:ใน Windows สามารถสร้างพอร์ต LISTEN โดยใช้คำสั่ง PowerShell เหล่านี้ :
PS C:\Users\u> netstat -nat | grep 1234
PS C:\Users\u> $listener = [System.Net.Sockets.TcpListener]1234
PS C:\Users\u> $listener.Start();
PS C:\Users\u> netstat -nat | grep 1234
TCP 0.0.0.0:1234 0.0.0.0:0 LISTENING InHost
PS C:\Users\u> $listener.Stop();
PS C:\Users\u> netstat -nat | grep 1234
PS C:\Users\u>
จากสิ่งนี้ฉันพยายามคิดเกี่ยวกับคำสั่งที่สามารถทำได้เช่นเดียวกันกับ CentOS แต่ฉันไม่รู้ว่าทำไมและฉันเริ่ม Google โดยไม่ต้องหาวิธีแก้ไขปัญหานี้
คำตอบที่คาดหวัง : ฉันจะยอมรับและยกเลิกคำตอบที่มีคำสั่งที่สามารถสร้างพอร์ต LISTEN และเมื่อคำสั่งถูกเรียกใช้พอร์ตควรอยู่ในสถานะ LISTEN เช่น:
[user@host ~]$ ss -nat | grep 500
LISTEN 0 128 *:500 *:*
netstat -an --tcp | awk '/LISTEN/ {sub(".*:", "", $4); print $4}' | sort -nu
Linux: เมื่อวันที่ BSDnetstat -an -f inet -p tcp | awk '/LISTEN/ {sub(".*\\.", "", $4); print $4}' | sort -nu
*: