C# 遍歷IP段檢查端口是否打開


起因是項目中用到打印機,但是無法為打印機分配固定IP.所以每次開機后都要浪費紙張打印IP信息.最后沒紙了, 密密麻麻看不到IP地址. 所以萌生了這個念頭,通過ping ip查出此打印機的IP.

最開始用bat執行255個ping命令.但是發現ip通了端口不一定打開. 所以改成了 telnet ip port檢查.

FOR /L %%i IN (1,1,255) Do ping 10.231.133.%%i -n 1 -w 300 | Find "TTL" && telnet 10.231.133.%%i 6101 && echo off

 

通過循環1-255的ip 去ping 每一個ip, -w 300表示超時時間, 因為ping不通的ip比較久.

然后獲取結果是否存在TTL,存在表示ping通了.然后就使用telnet去檢查端口是否打開。 實際上已經達到效果了.

 

但是對於端口未打開的ip, 每次都要檢查5-10秒. 這就導致了255個IP里有個50個左右可以ping通. 但是這50個里有49個端口沒打開. 用時較久,5-10分鍾.

所以最后還是決定自己寫個程序, 自己控制檢查時間,因為telnet 1秒還沒結果基本已經可以確定端口沒開了.

 

效果圖如下:

 

 

 

 

源碼地址: 鏈接: https://pan.baidu.com/s/1UdRUrBidPilrQx-VWf2B0Q 提取碼: rn4b 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM