- Wireshark的介绍
介绍:一个网络封包工具、主要功能进行网络封包,并尽可能显示出最为详细的封包资料,
原理:wireshark使用winpcap作为接口,直接与网卡进行数据报文交换
界面介绍:
- wireshark的安装
- 傻瓜式安装
安装目录:C:\Program Files\Wireshark
安装成功后打开程序如图:
-
- 安装插件
- C:\ProgramFiles\Wireshark\plugins\2.6、
- 安装插件
为把报文解析为h264视频流
- 简单使用
①、WireShark 主要分为这几个界面:
1. Display Filter(显示过滤器), 用于过滤
2. Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表
3. Packet Details Pane(封包详细信息), 显示封包中的字段
4. Dissector Pane(16进制数据)
5. Miscellanous(地址栏,杂项)
②过滤条件:
sip:查看sip相关信令报文
Sdp包、invite(查看音频编码/端口、视频编码/端口----在invite sdp包)、200ok(对端的音频编码/端口、视频编码/端口)
rtp:查看rtp流 查看媒体流时、包括音频/视频流
ip : ip.addr==192.168.x.xx 过滤当前ip相关报文
udp:
①udp.port==[端口号]
②udp.srcport==[端口号]&&rtp.marker==1
SSL:信令加密后通过它来验证信令包是否加密,无具体内容、包括请求和响应内容
HTTP:查看0 boot(设备类型、型号、软件/硬件版本号)事件、服务器协商过程
SRTP:信令加密后通过它来验证信令包是否加密,无具体内容、包括请求和响应内容(云视讯服务器不支持故需要AB双方终端点对点呼叫抓包查看)
视频流可过滤视频流的端口udp.port==xxx.xxx.....
音频流可过滤音频流的端口udp.port==xxx.xxx.....
四 补充
1.过滤端口
例子:
tcp.port eq 80 // 不管端口是来源的还是目标的都显示
tcp.port == 80
tcp.port eq 2722
tcp.port eq 80 or udp.port eq 80
tcp.dstport == 80 // 只显tcp协议的目标端口80
tcp.srcport == 80 // 只显tcp协议的来源端口80
udp.port eq 15000
过滤端口范围
tcp.port >= 1 and tcp.port <= 80
2.过滤协议
例子:
tcp
udp
arp
icmp
http
smtp
ftp
dns
msnms
ip
ssl
oicq
bootp
等等
排除arp包,如!arp 或者 not arp
3.过滤MAC
太以网头过滤
eth.dst == A0:00:00:04:C5:84 // 过滤目标mac
eth.src eq A0:00:00:04:C5:84 // 过滤来源mac
eth.dst==A0:00:00:04:C5:84
eth.dst==A0-00-00-04-C5-84
eth.addr eq A0:00:00:04:C5:84 // 过滤来源MAC和目标MAC都等于A0:00:00:04:C5:84的
less than 小于 < lt
小于等于 le
等于 eq
大于 gt
大于等于 ge
不等 ne
4.包长度过滤
例子:
udp.length == 26 这个长度是指udp本身固定长度8加上udp下面那块数据包之和
tcp.len >= 7 指的是ip数据包(tcp下面那块数据),不包括tcp本身
ip.len == 94 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后
frame.len == 119 整个数据包长度,从eth开始到最后
eth —> ip or arp —> tcp or udp —> data
5.http模式过滤
例子:
http.request.method == “GET”
http.request.method == “POST”
http.request.uri == “/img/logo-edu.gif”
http contains “GET”
http contains “HTTP/1.”
// GET包
http.request.method == “GET” && http contains “Host: “
http.request.method == “GET” && http contains “User-Agent: “
// POST包
http.request.method == “POST” && http contains “Host: “
http.request.method == “POST” && http contains “User-Agent: “
// 响应包
http contains “HTTP/1.1 200 OK” && http contains “Content-Type: “
http contains “HTTP/1.0 200 OK” && http contains “Content-Type: “
一定包含如下
Content-Type:
6.TCP参数过滤
tcp.flags 显示包含TCP标志的封包。
tcp.flags.syn == 0x02 显示包含TCP SYN标志的封包。
tcp.window_size == 0 && tcp.flags.reset != 1
7.包内容过滤
-----------------------------------------------
tcp[20]表示从20开始,取1个字符
tcp[20:]表示从20开始,取1个字符以上