Wireshark是一款专业强大的网络抓包分析工具,在Wireshark中用户可以实时捕获并分析网络数据流量,无论是排查网络故障还是研究通信协议都能得心应手。软件支持多种网络接口和协议解析,能直观展示数据包的详细内容,还能进行流量统计和过滤分析,让网络通信变得透明可见。快来下载Wireshark开启你的网络探秘之旅吧!
1、功能
wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容,总结,如果是处理HTTP,HTTPS 还是用Fiddler, 其他协议比如TCP,UDP 就用wireshark.
2、选择网卡
wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。
3、窗口介绍:
WireShark 主要分为这几个界面
3.1 Display Filter(显示过滤器), 用于过滤
3.2 Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表不同的类型
3.3 Packet Details Pane(封包详细信息), 显示封包中的字段
3.4 Dissector Pane(16进制数据)
3.5 Miscellanous(地址栏,杂项)
如何捕获数据包
4、过滤器
使用过滤是非常重要的, 初学者使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。搞得晕头转向。过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。
4.1 过滤器有两种,一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录,一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。在Capture -> Capture Filters 中设置,保存过滤。
4.2 新建过滤器,在Filter栏上,填好Filter的表达式后,点击Save按钮, 取个名字。比如"Filter 10",
4.3 过滤表达式的规则
4.3.1 协议过滤
比如TCP,只显示TCP协议。
4.3.2 IP 过滤
比如 ip.src =192.168.1.102 显示源地址为192.168.1.102,
ip.dst=192.168.1.102, 目标地址为192.168.1.102
4.3.3 端口过滤
tcp.port =80, 端口为80的
tcp.srcport = 80, 只显示TCP协议的愿端口为80的。
4.3.4 Http模式过滤
http.request.method==“GET”, 只显示HTTP GET方法的。
4.3.5 逻辑运算符为 AND/ OR
5、捕获结果分析
5.1 着色规则
在菜单“视图-着色规则”下查看
5.2 数据包结构
第一行:数据包整体概述,
第二行:链路层详细信息,主要的是双方的mac地址。
第三行:网络层详细信息,主要的是双方的IP地址。
第四行:传输层的详细信息,主要的是双方的端口号。
5.3 tcp数据包
标志位对应的功能:
URG:紧急指针( urgent pointer)有效。
ACK:确认序号有效。
PSH:接收方应该尽快将这个报文段交给应用层。
RST:重建连接。
SYN:同步序号用来发起一个连接。
FIN:发端完成发送任务。
窗口大小:用于流量控制。
检验和:检验和覆盖了整个的 TCP报文段: TCP首部和TCP数据,与udp相似需要计算伪首部。
tcp数据包结构及在wireshark中的位置
6、Tcp三次握手分析
客户端->服务器:发送标识为SYN=1、随机产生的客户端序号seq(发送序号)
服务器->客户端:发送标识为SYN=1、ACK=1、第一步产生的客户端序号seq+1(确认序号)、随机产生的服务端序号seq
客户端->服务器:第一步产生的客户端序号seq+1(发送序号)、第二步产生的服务端序号seq+1(确认序号)、ACK=1
三次数据包
其中[SYN]意为SYN位为1(如果没有,则表示为0)。同理如果[]中有ACK,表示ACK位为1
6.1 第一次握手数据包
客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图
6.2 第二次握手的数据包
服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图
6.3 第三次握手的数据包
客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下图:
就这样通过了TCP三次握手,建立了连接
1、过滤源ip、目的ip
在wireshark的过滤规则框Filter中输入过滤条件。如查找目的地址为192.168.101.8的包,ip.dst==192.168.101.8;查找源地址为ip.src==1.1.1.1
2、端口过滤
如过滤80端口,在Filter中输入,tcp.port==80,这条规则是把源端口和目的端口为80的都过滤出来。使用tcp.dstport==80只过滤目的端口为80的,tcp.srcport==80只过滤源端口为80的包
3、协议过滤
直接在Filter框中直接输入协议名即可,如过滤HTTP的协议
4、http模式过滤
如过滤get包,http.request.method=="GET",过滤post包,http.request.method=="POST"
5、连接符and的使用
过滤两种条件时,使用and连接,如过滤ip为192.168.101.8并且为http协议的,ip.src==192.168.101.8 and htt
1、深入检查数百种协议,一直在增加
2、实时捕获和离线分析
3、标准三窗格数据包浏览器
4、多平台:在Windows,Linux,macOS,Solaris,FreeBSD,NetBSD和许多其他操作系统上运行
5、捕获的网络数据可以通过GUI或TTY模式的TShark实用程序进行浏览
6、业界最强大的显示过滤器
7、丰富的VoIP分析
8、读取/写入许多不同的捕获文件格式:tcpdump(libpcap),Pcap NG,Catapult DCT2000,Cisco Secure IDS iplog,Microsoft Network Monitor,Network GeneralSniffer(压缩和未压缩),Sniffer Pro和NetXray,Network Instruments Observer ,NetScreen监听,Novell LANalyzer,RADCOM WAN / LAN分析器,Shomiti / Finisar Surveyor,Tektronix K12xx,Visual Networks Visual UpTime,WildPackets EtherPeek / TokenPeek / AiroPeek等
9、使用gzip压缩的捕获文件可以即时解压缩
10、可以从以太网,IEEE 802.11,PPP / HDLC,ATM,蓝牙,USB,令牌环,帧中继,FDDI等读取实时数据(取决于您的平台)
11、对许多协议的解密支持,包括IPsec,ISAKMP,Kerberos,SNMPv3,SSL / TLS,WEP和WPA / WPA2
12、可以将着色规则应用于数据包列表,以进行快速,直观的分析
13、输出可以导出为XML,PostScript,CSV或纯文本
1、支持多种平台:可以在Mac OS X、Linux、Windows等多个平台上运行。
2、多种协议支持:支持多种网络协议,包括TCP、UDP、HTTP、DNS等。
3、实时捕获和显示:可以实时捕获和显示网络数据包,支持设置捕获过滤器和显示过滤器。
4、数据包分析和导出:可以对捕获的数据包进行深入分析,并可以导出为多种格式,包括文本、CSV、XML等。
5、可扩展性:支持多种插件和自定义脚本,可以扩展其功能和定制化分析过程。
错误修复
已修复以下漏洞:
wnpa-sec-2022-01 RTMPT 解剖器无限循环。
wnpa-sec-2022-02 多个解剖器中的大循环。
wnpa-sec-2022-03 PVFS 解析器崩溃。问题 17840。
wnpa-sec-2022-04 CSN.1 解析器崩溃。问题 17882。
wnpa-sec-2022-05 CMS 解析器崩溃。问题 17935。
已修复以下错误:
对 HTTP2 主体中的 GSM SMS TPDU 的支持问题 17784。
Wireshark 3.6.1 通过从 libwsutil 问题 17822 中删除 ws_log_default_writer 破坏了 ABI。
Fedora RPM 包构建失败,RPATH 为 /usr/local/lib64,问题 17830。
macos-setup.sh:ftp.pcre.org 不再存在问题 17834。
nmap.org/npcap → npcap.com:域/URL 更改问题 17838。
MPLS ECHO FEC 堆栈更改 TLV 未正确解析问题 17868。
尝试打开 systemd 日志导出文件时发生段错误问题 17875。
802.11ac 数据包上的解析器错误问题 17878。
信息列仅显示 SCTP 数据包内多个数据包中的一个 NGAP/S1AP 数据包问题 17886。
在 Windows 10 上卸载 Wireshark 3.6.1 时无法删除安装目录,因为它不会删除“用户指南”子目录及其所有内容。问题 17898。
如果没有 zlib 问题 17899,3.6 就无法构建。
SIP 统计数据不再正确报告方法类型会计问题 17904。
模糊测试作业崩溃输出:fuzz-2022-01-26-6940.pcap 问题 17909。
与相对 TSN 问题 17917 相关的每个关联的第一个数据块的 SCTP 重传检测中断。
对于带有空格的文件名,“在文件夹中显示”功能无法正确工作问题 17927。
新增和更新功能
更新的协议支持
AMP、ASN.1 PER、ATN-ULCS、BGP、BP、CFLOW、CMS、CSN.1、GDSDB、GSM RP、GTP、HTTP3、IEEE 802.11 Radiotap、IPDC、ISAKMP、Kafka、MP2T、MPEG PES、MPEG SECT、MPLS ECHO、NGAP、NTLMSSP、OpenFlow 1.4、OpenFlow 1.5、P_MUL、PN-RT、PROXY、PTP、PVFS、RSL、RTMPT、rtnetlink、S1AP、SCTP、Signal PDU、SIP、TDS、USB、WAP 和 ZigBee ZCL
新的和更新的捕获文件支持
BLF 和 libpcap