【实验目的】
掌握Wireshark的安装。掌握利用Wireshark分析TCP 三次握手与四次断开过程。
【知识点】
1. 什么是Wireshark
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是抓取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
在过去,网络封包分析软件是非常昂贵的,或是专门属于盈利用的软件。Ethereal的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Ethereal是全世界最广泛的网络封包分析软件之一。
2. Wireshark工作原理
通过程序将网卡的工作模式设置为“混杂模式”,这时网卡将接受所有流经它的数据帧:让网卡接收一切他所能接收的数据,当网卡处于这种“混杂”方式时,该网卡具备广播地址,它对遇到的所有数据帧都产生一个硬件中断,以便提醒操作系统处理流经该物理媒体上的每一个报文包。
3. Wireshark过滤器用法
(1)过滤IP:
如来源IP或者目标IP等于某个IP:ip.src eq 192.168.1.235 or ip.dst eq 192.168.1.136。
(2)过滤端口
tcp.port eq 80 // 不管端口是来源的还是目标的都显示;
tcp.dstport == 80 // 只显示tcp协议的目标端口80;
tcp.srcport == 80 // 只显示tcp协议的来源端口80。
(3)过滤端口范围
tcp.port >= 1 and tcp.port <= 80。
(4)过滤MAC(以太网头过滤)
eth.dst == A0:00:00:04:C5:84 // 过滤目标mac;
eth.src eq A0:00:00:04:C5:84 // 过滤来源mac;
eth.addr eq A0:00:00:04:C5:84 // 过滤来源MAC和目标MAC都等于A0:00:00:04:C5:84的。
(5)包长度过滤事例:
udp.length == 26 这个长度是指udp本身固定长度8加上udp下面那块数据包之和;
tcp.len >= 7 指的是ip数据包(tcp下面那块数据),不包括tcp本身。
(6)http模式过滤事例:
http.request.method == “GET”
http.request.method == “POST”
http.request.uri == “/img/logo-edu.gif”
http contains “GET”
http contains “HTTP/1.0”
4. Wireshark常用功能
(1)分析一般任务:
查看网络通信。
查看某个主机使用了哪些程序。
找出在一个网络内发送数据包最多的主机。
验证特有的网络操作。
分析特定主机或网络的数据。
(2)网络安全分析:
检查使用非标准端口的应用程序。
查找网络中哪个主机在发送什么样的攻击数据。
攻击溯源。
检查恶意畸形的帧。
(3)故障任务:
为故障创建一个自定义的分析环境。
确定数据包的传输路径,网络延迟。
确定各类协议如TCP、DNS的问题。
检查应用程序错误响应。
(4)应用程序分析:
了解应用程序和协议如何工作。
确定哪个用户正在运行一个特定的应用程序。
检查应用程序如何使用传出协议,如TCP或UDP。
了解应用程序的带宽使用情况。
5. TCP介绍
TCP,提供面向连接的服务,在传送数据之前必须先建立连接,数据传送完成后要释放连接。因此 TCP 是一种可靠的运输服务,但是正因为这样,不可避免的增加了许多的开销,比如确认,流量控制等。对应的应用层的协议主要有 SMTP,TELNET,HTTP,FTP 等。
6. TCP 三次握手与四次断开
(1)TCP 三次握手原理
起初 A 和 B 都处于 CLOSED 状态——B 创建 TCB,处于 LISTEN 状态,等待 A 请 求——A 创建 TCB,发送连接请求(SYN=1,seq=x),进入 SYN-SENT(同步已发送)状态——B 收到连接请求,向 A 发送确认(SYN=ACK=1,确认号 ack=x+1,初始序号 seq=y),进入 SYN-RCVD(同步收到)状态——A 收到 B 的确认后,给 B 发出确认(ACK=1,ack=y+1,seq=x+1),A 进入 ESTABLISHED(已建立连接)状态——B 收到 A 的确认后,进入 ESTABLISHED 状态。
TCB 传输控制块 Transmission Control Block,存储每一个连接中的重要信息,如 TCP 连接表,指向发送和接收缓存的指针,指向重传队列的指针,当前的发送和接收序号。
(2)TCP 四次断开原理
起初 A 和 B 处于 ESTABLISHED 状态——A 发出连接释放报文段并处于 F
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
已在FreeBuf发表 0 篇文章
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)