一、wireshark介绍
1、定义
wireshark是非常流行的网络封包分析软件,简称小鲨鱼,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。对应的,linux下的抓包工具是 tcpdump。
1.1、网络基础
参考TCP/IP五层模型,帧结构如下:
帧字段 |
帧字段含义 |
Frame |
物理层的数据帧情况 |
Ethernet II |
数据链路层以太网帧头部信息 |
Internet Protocol Version 4 |
以太网协议层 |
Transmission Control Protocol |
传输控制协议 |
HyperText Transfer Protocol |
超文本传输协议 |
帧在传输层Transmission Control Protocol的表达方式(即TCP三次握手和四次挥手)
示例如下:
Transmission Control Protocol, Src Port: 59957, Dst Port: 443, Seq: 246, Ack: 4627, Len: 0 |
1.2、过滤规则
规则名称 |
规则用法 |
规则示例 |
IP过滤 |
不区分源和目的: ip addr 区分源和目的: (源)ip.src (目的)ip.dst |
ip.addr==192.168.0.1 |
协议过滤 |
tcp、udp、http、dns、icmp、arp |
http |
协议字段过滤 |
http请求方法: http.request.method tcp标志位: tcp.flags.syn dns查询名称: dns.qry.name |
http.request.method=“GET” |
端口过滤 |
tcp端口: tcp.port udp端口: udp.port |
tcp.port==8080 |
数据包方向过滤 |
源地址数据包: src 目的地址数据包: dst |
Src==192.168.0.1 |
数据包长度过滤 |
frame.len |
frame.len > 10 |
关键字过滤 |
1.3、运算符
运算符名称 |
运算符用法 |
运算符示例 |
比较运算符 |
大于> 小于< |