简介
Wireshark是当前非常流行的网络封包分析软件,功能十分强大,并且开源的软件。可以截取各种网络封包,显示网络封包的详细信息。其依赖于WinPcac的底层系统,在安装Wireshark时,可以自主选择安装。其可以运行到多平台上,包括Windows和Mac OS。
缺点:只能查看封包,无法修改封包(WPE可以修改封包)
基本使用步骤
使用过程对新手非常友好…
安装完成后,进入界面,鼠标双击选择接口:
进入界面后,此时已经可以进行一系列抓包操作:
基本过滤规则
过滤网络层IP地址:
// 例如
ip.src == 192.168.50.100 and ip.dst == 219.150.218.20
// 以上说明的是对源ip地址为192.168.50.100,目标地址为219.150.218.20进行过滤
过滤运输层端口号:
// 对源端口或者目的端口都过滤80
tcp.port == 80
// 等价于tcp.srcport == 80 or tcp.dstport == 80
// 只对源端口过滤80端口
tcp.srcport == 80
// 只对目的端口过滤80端口
tcp.dstport == 80
// 同样也可以对UDP进行类似的操作
// 过滤端口范围
tcp.port >= 1 and tcp.port <= 80
过滤协议:
// 过滤DNS协议
dns
// 排除DNS协议
not dns
一些常用的协议有:
- IP
- TCP
- UDP
- ARP
- ICMP
- HTTP
- DNS
- FTP
- SSL
- SMTP
- SSL
过滤MAC地址:
// 过滤源mac地址为00:e0:4c:ff:01:29
eth.src == 00:e0:4c:ff:01:29
// 过滤目的mac地址为00:e0:4c:ff:01:29
eth.dst == 00:e0:4c:ff:01:29
// 过滤源mac地址和目的mac地址均为ff:ff:ff:ff:ff:ff
eth.addr == ff:ff:ff:ff:ff:ff
过滤包长度:
// 过滤包长度小于等于500,这里长度为udp数据部分加上8位udp首部的长度
udp.length <= 500
// 过滤包长度大于等于100,这里的长度只是tcp的数据部分长度,不包括tcp首部长度
tcp.len >= 100
// 过滤满足除以太网固定14字节(包含首部固定源和目的地址信息)外的整个长度为100的封包
ip.len == 100
// 过滤整个数据包长度为114的封包
frame.len == 114
过滤HTTP模式:
// 过滤http协议的get请求,注意这里区分大小写
http.request.method == GET
过滤TCP参数:
// 过滤释放TCP连接封包
tcp.flags.fin == 1
过滤包内容:
// 过滤从TCP数据部分开始第18个字节开始连续三个字节为00:00:00的封包,注意这里下标从0开始
tcp[17:3] == 00:00:00
过滤通配符
\d 0-9的数字 \D 所有非数字的字符 \w 所有单词字符,包括大小写字母、0-9的数字、下划线 \W \w的补集 \s 空白字符,包括换行符\n、回车符\r、制表符\t、垂直制表符\v、换页符\f . 匹配任意一个字符 .* 匹配任意文本 […] 匹配[]内所列出的所有字符 [^…] 匹配非[]内所列出的字符