起因是項目中用到打印機,但是無法為打印機分配固定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