wireshark软件可以用来可视化抓包网络数据包,准确来说是数据链路层的数据帧。但是要是在windows平台下需要做成个服务来开机就启动抓包程序,并定期保存抓包文件,那就需要使用dumpcap或tshark工具。
1、进入wireshark的安装目录,既是dumpcap.exe的目录。
2、命令行使用dumpcap命令行,dumpcap -h可以查看命令的参数options。
dumpcap.exe -i 2 -b filesize:1024 -w E:\wsrecord\wlan.pcap -f "host 192.168.31.40"-b files:3
命令里面需要确定捕捉的网卡,文件大小,文件路径和过滤规则。
-i后面是网卡,dumpcap -D查看网卡的编号,也可以直接写网卡名。
-b后面是文件大小,单位是kb。还可以跟着其他参数,比如files就可以控制文件循环数量。
-b files:3就说明文件数量超过三个则覆盖原文件,这个功能可以控制文件数量,删除历史数据。特别是按照时间间隔来保存数据包时,就可以控制历史数据保存时间了。
-w是文件路径,注意是反斜杠。
-f后面是过滤规则,host 192.168.31.40则是只抓包这个IP的数据包。
4、将所有命令写入批处理文件dumpcap.bat文件中。
D:
cd Wireshark
dumpcap.exe -i 2 -b filesize:1024 -w E:\wsrecord\wlan.pcap -f "host 192.168.31.40"-b files:3
pause
改写程序,添加title信息和显示方式,cmd界面更加好看:
title dumpcap localhsot
color 0a & mode 70,5
D:
cd Wireshark
dumpcap.exe -i 2 -b filesize:1024 -w E:\wsrecord\wlan.pcap -f "host 192.168.31.40"-b files:3
pause
或者一直保存数据,然后使用脚本按过期时间删除:
forfiles /p "E:\wsrecord" /s /m *.* /d -7 /c "cmd /c del @path"
5、设置为开机启动
将bat批处理文件放置在启动文件夹中,或者在任务计划程序里面设置开机启动。
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
但是如果是在linux平台下呢?笔者以为会更加简单,运行sudo nano /etc/rc.local,在exit 0之前添加 tshark -i 2 -b filesize:1024 -w var/temp -f "host 192.168.31.40"-b files:3 & 就可以实现开机启动了,tshark是在默认路径里面,直接设置开机启动就行了。