1、wireshark基础
①
②双击你电脑使用的网卡,比如:本地连接(有线网卡) 或 WLAN(无线网络连接),即可进入wireshark抓包界面,其实大家仔细观察可以发现,有数据流量包的网卡的曲线很明显。
③wireshark启动后,wireshark处于抓包状态中,若要停止抓包,可以点击:红色的正方形按钮
④为避免其他无用的数据包影响分析,可以通过在过滤栏设置过滤条件进行数据包列表过滤
Packet Details Pane(数据包详细信息), 在数据包列表中选择指定数据包,在数据包详细信息中会显示数据包的所有详细信息内容。数据包详细信息面板是最重要的,用来查看协议中的每一个字段。各行信息分别为
(1)Frame: 物理层的数据帧概况
(2)Ethernet II: 数据链路层以太网帧头部信息
(3)Internet Protocol Version 4: 互联网层IP包头部信息
(4)Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP
(5)Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议
2、wireshark过滤器表达式的规则
显示过滤器语法和实例:
1)wireshark抓包比较操作符
比较操作符有== 等于、!= 不等于、> 大于、< 小于、>= 大于等于、<=小于等于。
(2)wireshark抓包协议过滤
比较简单,直接在Filter框中直接输入协议名即可。注意:协议名称需要输入小写。
tcp,只显示TCP协议的数据包列表
http,只查看HTTP协议的数据包列表
icmp,只显示ICMP协议的数据包列表
(3) wireshark抓包ip过滤
ip.src ==192.168.1.104 显示源地址为192.168.1.104的数据包列表
ip.dst==192.168.1.104, 显示目标地址为192.168.1.104的数据包列表
ip.addr == 192.168.1.104 显示源IP地址或目标IP地址为192.168.1.104的数据包列表
(4)wireshark抓包端口过滤
tcp.port ==80, 显示源主机或者目的主机端口为80的数据包列表。
tcp.srcport == 80, 只显示TCP协议的源主机端口为80的数据包列表。
tcp.dstport == 80,只显示TCP协议的目的主机端口为80的数据包列表。
(5) wireshark抓包Http模式过滤
http.request.method==“GET”, 只显示HTTP GET方法的。
(6)wireshark抓包逻辑运算符为 and/or/not过滤多个条件组合时,使用and/or。比如获取IP地址为192.168.1.104的ICMP数据包表达式为ip.addr == 192.168.1.104 and icmp
(7)按照数据包内容过滤。点击具体的协议表示,进行针对过滤
或者选择 名字、字段描述之类的
后面条件表达式就需要自己填写。如下我想过滤出data数据包中包含"abcd"内容的数据流。包含的关键词是contains 后面跟上内容
对于我们日常的分析有用的就是前面的五个字段。它们的含义是:SYN表示建立连接,FIN表示关闭连接,ACK表示响应,PSH表示有DATA数据传输,RST表示连接重置。
3、流跟踪
Wireshark分析功能中令人满意的一点就是它能够将来自不同包的数据重组成统一易读的格式,一般称作packet transcript。
流跟踪功能可以把从客户端发网服务器的数据都排好序使其变得更易查看。
现有四种类型的流可以被跟踪。
TCP流:重组使用TCP协议的数据,比如HTTP和FTP。
UDP流:重组使用UDP协议的数据,比如DNS。
SSL流:重组加密的协议,比如HTTPS。你必须提供密钥来解密流量。
HTTP流:从HTTP协议中重组和解压数据。当使用TCP流跟踪但又没有完全解码出HTTP数据时,这个功能就派上用场了。
如一个简单的HTTP交互举例来说,选中一个HTTP或TCP数据包,右键单击这个文件并选择追踪流。此时会打开一个新窗口。
注意这个窗口中的文字以两个颜色显示,其中红色用来标记从源地址前往目标地址的流量,而蓝色用来区分出相反方向,也就是从目标地址到源地址的流量。这里的颜色标记以哪方先开始通信为准。