一鍵批量ping任意ip段的存活主機

2022-05-22 02:12:12 字數 2495 閱讀 8671

********************===by me***********************************==

@echo off

echo.

color fc

for /f %%i in (pingip.txt) do (

ping -w 1200 -n 1 %%i|find /i "正在"

ping -w 1200 -n 2 %%i|find /i "ttl"

echo.

)echo.&echo 感謝小明掃瞄完畢,隨便退出...&pause>nul

1、如果ip連續,例如(192.168.1.1-192.168.1.10):

@echo off&setlocal enabledelayedexpansion

if exist onlist.txt

if exist offlist.txt

for /l %%i in (1,1,10) do (

ping -n 1 192.168.1.%%i>nul 2>nul

if !errorlevel!==0 (echo 192.168.1.%%i >>c:\bat\onlist.txt) else (echo 192.168.1.%%i >>c:\bat\offlist.txt)

)2、如果ip不連續,那使用乙個檔案plist寫入要測試的位址列表,然後批處理:

@echo off&setlocal enabledelayedexpansion

if exist c:\bat\onlist.txt del c:\bat\onlist.txt

if exist c:\bat\offlist.txt del c:\bat\offlist.txt

for /f %%i in (c:\bat\pclist.txt) do (

ping -n 1 %%i>nul 2>nul

if !errorlevel!==0 (echo %%i >>c:\bat\onlist.txt) else (echo %%i >>c:\bat\offlist.txt)

)

今晚繼續我們的電腦批處理系列教程。如果想知道自己的小區寬頻或區域網,甚至外網任意某一ip段,目前有多少人同時在上網腫麼辦呢?可能大家想到的一定是找工具什麼的。其實不然,利用windows內建的批處理功能完全可以實現批量ping查詢指定網段存活主機的目的!

@echo off

color e

title

批處理掃網段主機

echo.

@for /f "tokens=1-4 delims=."

%%i in (ip.txt) do (@for /l %%n in (1,1,255) do @ping -w 600 -n 1

%%i.%%j.%%k.%%n|find /i "ttl")

echo.&echo

掃瞄完畢,按任意鍵退出...&pause>nul

複製以上**貼上到記事本文件裡,然後另存為 批量ping.bat

,再新建乙個空白的文字文件,重新命名為 ip.txt

。一切準備完事兒,就可以將你要批量掃瞄的ip段的位址放入ip.txt裡(比如要掃自己對應的內網ip段就可以在ip.txt裡輸入

192.168.1.1 後儲存),然後雙擊一鍵執行 批量ping.bat 批處理指令碼就可以看到返回的結果了。格式類似於:

reply from 192.168.1.1: bytes=32

time=2ms ttl=64

reply from 192.168.1.2: bytes=32 time=3ms ttl=64

reply

from 192.168.1.3: bytes=32 time=2ms ttl=64

reply from 192.168.1.5: bytes=32

time=2ms ttl=64

reply from 192.168.1.6: bytes=32 time=1ms

ttl=64

……此處省略餘下的所有可能的結果……

下面我就來解讀一下介個看起來有點兒吃力的批處理命令吧。我們分拆來看一下,ping -w

600 -n 1 表示對指定ip位址ping一次,等待超時的時間為600毫秒;|find /i "ttl"

指的是僅顯示ping返回結果中帶「ttl」字串的結果,也就是將指定網段內不存活的主機過濾掉了。而前面的 @for /f "tokens=1-4 delims=." %%i in (ip.txt)

意思是將「ip.txt」裡的字串(也就是我們要查詢的ip段的位址)以「.」為界分割為四部分,分別賦予後面的變數 %%i、%%j、%%k 。最後剩下的

@for /l %%n in (1,1,255)

則表示從1開始迴圈+1遞增一直到255停止,然後賦予變數 %%n 。看不懂滴可以在cmd視窗裡輸入 for /?

檢視一下命令詳解吧。

一鍵批量分發公鑰的方法

1.利用指令碼的方式實現批量分發公鑰 首先我們要進行分析實現遠端分發的步驟 遠端分發金鑰是基於ssh遠端連線的,那麼根據ssh連線的原理我們就會得出這樣的結論 第一服務端會向請求端傳送確認訊息,那麼就會引申出乙個問題,利用指令碼實現的話我們是不可能採用互動的方式的 所以相應的解決辦法就是 o str...

一鍵切換固定IP位址和自動分配IP位址的指令碼

公司給分配的電腦,總是自動重啟,無奈自己天天揹著本去上班!更無奈的是,公司的網是固定ip,寢室的網是自動獲取ip的 dhcp 每天到公司或者中午 晚上回寢室都得切換ip,很是麻煩,再裝乙個或者寫乙個軟體來切換都沒有必要,就上網查了一下命令,寫了一段bat指令碼,儲存成文。關閉回顯 echo off ...

一鍵設定網路IP位址的bat批處理

因公司網路分內外網,換掉網線後需要重新設定網路位址,設定起來很麻煩,從網路找到的批處理。記錄下這種簡單的方式。拷貝放到txt檔案,改字尾為bat,即可。設定為手動設定網路位址 echo.echo echo.echo更改 本地鏈結 ip位址 echoip 172.16.79.34 echo子網掩碼 2...