Wireshark抓包协议分析

实践一:TCP/IP协议分析

    1.    捕获TCP数据包:在Wireshark中开始捕获,并设置捕获过滤器为tcp,这样只会捕获TCP协议的数据包。
    2.    查看TCP三次握手:找到SYN标志为1的数据包,这是TCP连接建立的第一步。随后应看到一个SYN=1,ACK=1的数据包作为回应,最后是ACK标志为1的数据包完成握手。
    3.    探究序列号和确认号:在TCP段的详情面板中,可以看到seq(序列号)和ack(确认号)。序列号表示发送的数据部分的起始字节位置,确认号则是接收方期望接收到的下一个字节序号。
    4.    关闭连接的四次挥手:当TCP连接结束时,你会看到FIN标志被置位的数据包,接着是ACK回应,再之后是对方的FIN+ACK,最后是释放连接的ACK。

实践二:HTTP分析

    1.    捕获HTTP数据包:设置捕获过滤器为http或http.request || http.response,以便捕获HTTP请求和响应包。
    2.    查看HTTP请求:在封包列表中找到Method(GET或POST等)字段,点击后在详情面板中能看到完整的请求行(包括请求方法、URI和HTTP版本),以及请求头和可能存在的请求体。
    3.    分析HTTP响应:响应数据包中能看到响应行(包含状态码和原因短语),响应头(Content-Type、Server等信息)和响应体(网页的实际内容)。
    4.    跟踪TCP流(TCP Stream):针对特定的HTTP事务,右键点击选择”Follow TCP Stream”,Wireshark会合并相关的请求和响应,便于整体查看对话内容。

实践三:UDP协议分析

    1.    捕获UDP数据包:设置捕获过滤器为udp,捕获UDP协议的数据包。
    2.    分析具体应用层协议:UDP协议本身不保证顺序和可靠性,但承载了许多重要的应用层协议,如DNS、DHCP、SNMP、RTP等。在UDP数据包详情中,重点查看Data字段,根据负载内容进一步判断传输的是哪种应用层协议。

实践四:HTTPS(SSL/TLS)加密流量分析

    1.    捕获HTTPS流量:默认情况下,Wireshark无法直接解密HTTPS流量,因为数据是经过TLS加密的。但是,如果你拥有对应私钥(例如,正在调试自己的服务器),可以导入私钥进行解密分析。
    •    导入私钥:在Wireshark首选项设置中(Edit -> Preferences),进入Protocols -> TLS -> (Pre)-Master-Secret log filename,设置私钥文件和日志文件路径。也可以在捕获过程中实时提供私钥。
    2.    分析SSL/TLS握手:即使不解密数据,仍能分析SSL/TLS握手过程,包括版本协商、Cipher Suite选择、证书交换、密钥生成等步骤。
    3.    解密HTTPS内容:成功导入私钥后,HTTPS流量将会被解密并在HTTP层展示,此时可以像分析普通HTTP流量那样查看请求和响应内容。

实践五:IPv6协议分析

    1.    捕获IPv6流量:无需特殊过滤器,Wireshark默认支持IPv6协议,所有IPv6流量都会被捕获。
    2.    对比IPv4和IPv6差异:在IPv6数据包详情中,查看源地址和目的地址(形如fe80::abcd:ef12:3456:789a),并注意IPv6特有的扩展头部和新特性,如邻居发现协议(Neighbor Discovery Protocol,NDP)取代了IPv4的ARP。

实践六:DHCP协议分析

    1.    捕获DHCP过程:设置捕获过滤器为dhcp,捕获DHCP Discover、Offer、Request、Acknowledge等消息。
    2.    解析DHCP交互: DHCP协议主要用于主机自动获取IP地址和其他网络配置参数。通过观察各阶段的消息内容,可以详细了解客户端如何申请IP地址,服务器如何分配地址,并最终确认租约生效。

实践七:ARP协议分析

    1.    捕获ARP交互:无需特殊过滤器,ARP协议数据包默认会被捕获。
    2.    理解ARP缓存更新:ARP请求和响应数据包展示了网络设备如何通过MAC地址查询和广播IP地址映射关系,这对于理解局域网内的设备发现和通信至关重要。

实践八:SMTP邮件传输分析

    1.    捕获SMTP会话:设置捕获过滤器为smtp,捕获SMTP协议的客户端和服务端交互。
    2.    查看邮件投递流程:观察SMTP命令(如EHLO、MAIL FROM、RCPT TO、DATA等)和响应,追踪一封邮件从发送到接收的完整过程。


实践九:MQTT协议分析

    1.    捕获MQTT消息:设置捕获过滤器为mqtt,捕获MQTT协议的发布(Publish)、订阅(Subscribe)、取消订阅(Unsubscribe)和通知(PubAck、SubAck等)消息。
    2.    解析MQTT主题和负载:在MQTT数据包详情中,关注Topic Name字段,了解设备发布的主题和关联的消息内容。

实践九:FTP协议分析

    1.    捕获FTP会话:设置捕获过滤器为ftp,捕获FTP客户端与服务器之间的控制连接和数据连接交互。
    2.    追踪FTP操作:观察FTP命令(如USER、PASS、CWD、RETR、STOR等)及其响应,以理解用户登录、目录切换、文件上传下载等FTP操作的具体过程。

实践十:DNS协议分析

    1.    捕获DNS查询:设置捕获过滤器为dns,获取DNS查询及响应报文。这些报文包含了域名解析的过程,如A记录(IP地址查找)、MX记录(邮件服务器查找)和其他类型的DNS资源记录查询。
    2.    解析DNS响应结构:对于每个DNS响应,Wireshark会显示权威答案部分,包括域名、类型、类、TTL以及相关数据。例如,对于A记录,数据区域会显示对应的IP地址;对于NS记录,则会显示名称服务器域名。
    3.    分析DNS缓存命中与未命中的情况:通过观察DNS查询响应时间以及是否从本地缓存中获得答案,可以了解DNS查询的效率以及客户端和DNS服务器之间的工作状况。

实践十一:DHCPv6(IPv6动态主机配置协议)分析

    1.    捕获DHCPv6通信:设置捕获过滤器为dhcp6,捕获DHCPv6的Discover、Offer、Request、Confirm、Renew等报文。
    2.    分析IPv6地址分配过程:观察DHCPv6交互过程,了解客户端如何获取IPv6地址、DNS服务器地址、网络参数等信息。
    3.    排查IPv6部署问题:通过Wireshark分析DHCPv6协议的执行情况,可以迅速定位IPv6部署过程中可能出现的地址分配失败、配置参数传递不准确等问题。

实践十二:IEEE 802.11(Wi-Fi)协议分析

    1.    捕获Wi-Fi帧:在支持监控模式的无线网卡上开启Wireshark,设置捕获过滤器为wlan或更具体的wlan.fc.type.control(控制帧)、wlan.fc.type.data(数据帧)等,捕获Wi-Fi通信数据包。
    2.    解析管理、控制与数据帧:Wi-Fi帧分为管理帧、控制帧和数据帧三大类。通过Wireshark,可以详细查看Beacon帧、Probe Request/Response帧、Association Request/Response帧、Authentication帧等管理帧,以及 RTS、CTS、ACK、PS-Poll等控制帧,还有携带实际数据的Data帧。
    3.    无线网络性能评估:分析Wi-Fi帧的信号强度、速率、重传次数等信息,有助于评估无线网络覆盖范围、干扰程度、吞吐量以及连接质量。

实践十三:Bluetooth(蓝牙)协议分析

    1.    蓝牙通信捕获:在支持蓝牙抓包的环境中(如Linux平台),使用Wireshark捕获蓝牙通信数据包,设置过滤器为btbb或bluetooth-le(针对低功耗蓝牙LE)。
    2.    解析HCI层交互:蓝牙协议栈由多个层次组成,Wireshark主要解析Host Controller Interface (HCI) 层数据。在这里,可以观察到设备配对、连接建立、数据传输等操作的命令和事件。
    3.    BLE GATT服务与特征交互:对于低功耗蓝牙(BLE),Wireshark可以解析Generic Attribute Profile (GATT) 的服务发现、读写操作,帮助开发者理解和调试BLE设备的应用层交互。

实践十四:WebSocket协议分析

    1.    WebSocket会话捕获:设置捕获过滤器为websocket,捕获Web浏览器与WebSocket服务器之间的全双工通信数据包。
    2.    解析WebSocket帧结构:WebSocket协议使用特殊的帧结构进行数据传输,包括文本帧、二进制帧、关闭帧等。Wireshark能够解码这些帧,展示其内容和控制标志。

    3.    实时通信应用调试:在实时通信、聊天应用、游戏等场景下,通过Wireshark分析WebSocket交互,可以找出连接不稳定、数据丢失、延迟过高等问题,进而优化用户体验。

  • 19
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值