杰哥很忙 7月9日
前言
本文整理一下日常抓包使用的一些方法及抓包分析的一些方法。
本文基于wireshark2.2.6版本进行抓包处理。其他版本使用方式大同小异。
自定义捕获条件
wireshark
可以将抓包数据保存到硬盘上。若需要长时间抓包的话,需要防止内存过大,因此一般需要指定一定大小切包,释放内存。
在捕获
-选项
菜单中可以设置捕获包的一些配置。
输入配置
在输入
选项卡中可以选择抓取指定接口,在下方过滤器中可以输入过滤条件,比如host 172.17.1.100
抓取指定ip的包,或tcp port 9055
抓取指定端口的包。
输出配置
在输出
选项卡中可以设置保存的文件路径,包数量分组,文件大小分组,文件个数等配置。
1. 文件保存路径:需要设置具体的文件名,wireshark会自动在文件名后加上序号和时间戳信息。比如文件名为1.pcapng
,则会自动保存为如1_00001_20190625161142.pcapng
的文件名。
2. 自动创建新文件可以通过接收到包的数量和大小以及抓包时间进行设置,通常通过文件大小抓包即可。
3. 文件个数:通过勾选使用一个唤醒缓冲器来保存最大的文件数量。防止文件过多
在选项
选项卡中还有一些其他的配置,根据实际情况决定是否勾选。
命令行抓包
wireshark
提供了很强大的GUI界面,但是在生产环境长时间抓包使用GUI界面有以下问题:
界面刷新需要消耗资源,且GUI界面相比命令行界面,易出现闪退,卡死等不稳定现象。
同时即使配置了切包,也会占用极大的内存,需要将包信息显示在界面,因此必须要等每次切包后才能释放内存。
相比命令行将数据持久化到硬盘上会立即释放内存,因为界面上只需要显示简单的抓包数量和文件保存路径等信息。
下图是通过GUI界面进行抓包的内存占用情况,配置的是100M切一个文件,一般需要占用几百兆的内存。
下图是通过命令行抓包的内存占用情况,配置的是100M切一个文件,仅仅占用几兆内存。
在wireshark
安装目录除了wireshark
用于GUI界面的抓包程序以外还有一些其他的工具。
比如reordercap、text2pcap、tshark、rawshark、mergecap、mmdbresolve、capinfos、dumpcap、editcap等
其中tshark
和dumpcap
是用于命令行抓包的工具。
tshark
就是命令行版的wireshark
,tshark
底层使用的即为dumpcap
,因此tshark
的功能相