tcpdump抓包-wireshark分析包
1.wireshark中的过滤器设置
ip.addr == IP地址
ip.src == IP地址
ip.src == 192.168.1.0/24 #网段
ip.dst == IP地址
tcp.port == 端口
udp.port == 端口
逻辑连接条件
()
and or not
&& || !
2.抓包前的捕获过滤器设置
语法规则
简记:
协议名字 方向 类型
协议: tcp、ip、arp、ether #默认为全部协议
方向: src、dst、src and dst、src or dst #默认为src or dst
类型: host、net、port 、portrange
运算优先级:
否(not)具有最高优先级,或(“or”)和与(and)具有相同的优先级
运算顺序:从左到右
举例:
tcp src port 443 #捕获来源端口为443的数据包
tcp dst port 80 #捕获目标端口为80的数据包
not arp #不获取arp
port 80 #获取端口是80的数据
src 192.168.4.1 and port 80 #获取来源是192.168.4.1 端口是80的数据包
src 192.168.4.1等价于 src host 192.168.4.1
- 文件保存
文件格式 pcap
对于大文件,设置每个文件大小和抓取包的大小
tcpdump
-i 网卡
-i any #抓取所有网卡的包
-i eth1 # 只抓经过接口eth1的包
-c 100 #只抓取100个数据包
-s 0 #数字0表示不限制大小
-nn 取消发现dns的过程,立即抓取包,并用数字显示IP端口之类
-w ./target.cap : 保存成pcap文件,方便用wireshark分析
-C <文件大小>:指定每个输出文件的最大大小。
文件大小可以使用K(千字节)、M(兆字节)或G(千兆字节)作为单位。
例如,使用-C 10M将限制每个输出文件的大小为10兆字节。
-W <文件数量>:指定输出文件的最大数量。当达到指定的文件数量后,tcpdump会自动覆盖最旧的文件。
-G <时间间隔>:指定输出文件的最大存活时间。时间间隔可以使用秒(s)或分钟(m)作为单位。例如,使用-G 10m将限制输出文件的存活时间为10分钟。
举例:
tcpdump -i any -s 0 -C 10M -W 3 -w /data/outputfile.pcap
达到10兆字节大小时创建新的文件,最多保留3个文件。生成名为outputfile.pcap的输出文件
tcpdump host ip/hostname : 只抓取指定ip/hostname来源的数据包
tcpdump ip host ip1 and ! ip2 : 只抓取主机ip1除了和主机ip2之外所有主机通信的ip数据包
tcpdump host ip1 and ( ip2 or ip3 ) : 只抓取主机ip1与ip2或者ip3之间的数据包,注意括号前要加转义符
tcpdump udp port 123 : 只抓取本机123端口发出的udp数据包
tcpdump tcp port 23 host ip1 : 只抓取主机ip1的23端口接收或发出的tcp数据包