所以我有带有简单.bat
文件的远程计算机:
C:\Program Files\Wireshark\tshark.exe -i 1 -w c:\file.pcap
此command
开始Tshark
进程并开始嗅探
现在我的问题是,我在多台计算机上启动此.bat
文件,并且在每台计算机上正确的接口都不同,因此,使用推荐的Tshaek -D
我可以获得带有索引号的所有接口,在这里,我需要知道哪个接口可以连接到互联网。
当然,我需要在我的.bat
文件中执行此操作,并且这必须是我的接口号(在我的示例中,接口号是硬代码,等于1)
有什么建议吗?
答案 0 :(得分:0)
这很骇人,但应该这么做。
@echo off
for /f "tokens=2 delims=:" %%i in ('ipconfig ^|findstr "IPv4"') do (
ping -n 1 -S%%i google.com |findstr /i reply
if not errorlevel 1 for /f %%a in ('ipconfig ^| findstr /I /N "%%i"') do set cnt=%%a
)
set /a cnt-=5
for /f "tokens=1* delims=:" %%i in ('ipconfig ^|more +%cnt%') do set adap=%%i & goto runts
:runts
set adap=%adap:*adapter =%
for /f "usebackq delims=." %%i in (`""C:\Program Files\Wireshark\tshark.exe" -D | findstr /I "%adap%""`) do (
"C:\Program Files\Wireshark\tshark.exe" -i %%i -w c:\file.pcap
)
我们要做的是运行ipconfig
并获取所有IPv4
地址,并将每个地址用作ping google.com
的源。然后,使用findstr
匹配reply
,然后errorlevel 0
将确定适配器是否为活动适配器。
现在,我们只需要向上5行以获取适配器的描述,然后使用findstr
tshark -D
来使用该适配器,并只需运行完整的tshark
命令即可。
注意,如果使用IPv6,则完全不同。