tcpdump与Wireshark抓包分析
tcpdump是linux下一款抓包工具,wireshark是一款抓包和数据包分析工具。两者通常结合使用,tcdump抓取的数据包保存为可分析文件,然后在windows系统下通过wireshark进行分析。tcpdump命令需要使用-w保存文件。
通常电脑主机端的抓包通过wireshark直接抓取,嵌入式设备内部的流量(不经过主机端)通过tcpdump来抓取,比如设备跟手机APP之间的通信只能在tcpdump抓取数据包。
tcpdump -i lo0 -s 0 -n -S host 10.37.63.3 and port 8080 -w ./Desktop/tcpdump_10.37.63.3_8080_20160525.cap
TCP3次握手4次挥手
一、tcpdump
1. 指定网卡
tcpdump -i eth1
2. src指定包的来源,可以指定ip,也可以指定port
dst指定目的端口
tcpdump -i eth1 src port 80
3. 指定抓到的包以16进制显示
tcpdump -i eth1 src port 80 -xx
4. -X 指定以ASCII码显示
tcpdump -i eth1 src port 80 -xx -Xs
5. 指定抓整个包 -s 0
6. 写到指定文件
tcpdump -i eth1 src port 80 -xx -Xs 0 -w test.cap
7 vim test.cap :%!xxd可以以16进制的方式查看
二、wireshark
1. 逻辑运算
a, 与:and 或 &&
b, 或:or 或 ||
c. 非:not 或 !
d. 等于:eq 或 ==
e. 小于:lt 或 <
f. 大于:gt 或 >
g. 不等于:ne 或 !=
2. 按协议过滤
直接在搜索框搜索相应的协议即可
3. 按ip过滤
ip.dst == 192.168.0.1
ip.src == 192.168.0.1
或者直接指定ip ip.addr == 192.168.1.2
4. 按端口过滤
tcp.port == 8080
udp.port == 8080
udp.dstport == 8080
udp.srcport == 8080
5. 按包长度
udp.length < 30
tcp.length < 30
http.content_length < 30