Wireshark(二):应用Wireshark观察基本网络协议

原文出处: EMC中文支持论坛

TCP:

TCP/IP通过三次握手建立一个连接。这一过程中的三种报文是:SYN,SYN/ACK,ACK。

第一步是找到PC发送到网络服务器的第一个SYN报文,这标识了TCP三次握手的开始。

如果你找不到第一个SYN报文,选择Edit -> Find Packet菜单选项。选择Display Filter,输入过滤条件:tcp.flags,这时会看到一个flag列表用于选择。选择合适的flag,tcp.flags.syn并且加上==1。点击Find,之后trace中的第一个SYN报文就会高亮出来了。

注意:Find Packet也可以用于搜索十六进制字符,比如恶意软件信号,或搜索字符串,比如抓包文件中的协议命令。

一个快速过滤TCP报文流的方式是在Packet List Panel中右键报文,并且选择Follow TCP Stream。这就创建了一个只显示TCP会话报文的自动过滤条件。

这一步骤会弹出一个会话显示窗口,默认情况下包含TCP会话的ASCII代码,客户端报文用红色表示服务器报文则为蓝色。

窗口类似下图所示,对于读取协议有效载荷非常有帮助,比如HTTP,SMTP,FTP。

更改为十六进制Dump模式查看载荷的十六进制代码,如下图所示:

关闭弹出窗口,Wireshark就只显示所选TCP报文流。现在可以轻松分辨出3次握手信号。

注意:这里Wireshark自动为此TCP会话创建了一个显示过滤。本例中:(ip.addr eq 192.168.1.2 and
ip.addr eq 209.85.227.19) and (tcp.port eq 80 and tcp.port eq 52336)

SYN报文:

图中显示的5号报文是从客户端发送至服务器端的SYN报文,此报文用于与服务器建立同步,确保客户端和服务器端的通信按次序传输。SYN报文的头部有一个32 bit序列号。底端对话框显示了报文一些有用信息如报文类型,序列号。

SYN/ACK报文:

7号报文是服务器的响应。一旦服务器接收到客户端的SYN报文,就读取报文的序列号并且使用此编号作为响应,也就是说它告知客户机,服务器接收到了SYN报文,通过对原SYN报文序列号加一并且作为响应编号来实现,之后客户端就知道服务器能够接收通信。

ACK报文:

8号报文是客户端对服务器发送的确认报文,告诉服务器客户端接收到了SYN/ACK报文,并且与前一步一样客户端也将序列号加一,此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

ARP & ICMP:

开启Wireshark抓包。打开Windows控制台窗口,使用ping命令行工具查看与相邻机器的连接状况。

停止抓包之后,Wireshark如下图所示。

ARP和ICMP报文相对较难辨认,创建只显示ARP或ICMP的过滤条件。

ARP报文:

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。其功能是:主机将ARP请求广播到网络上的所有主机,并接收返回消息,确定目标IP地址的物理地址,同时将IP地址和硬件地址存入本机ARP缓存中,下次请求时直接查询ARP缓存。

最初从PC发出的ARP请求确定IP地址192.168.1.1的MAC地址,并从相邻系统收到ARP回复。ARP请求之后,会看到ICMP报文。

ICMP报文:

网络控制消息协定(Internet Control Message Protocol,ICMP)用于TCP/IP网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈,通过这些信息,令管理者可以对所发生的问题作出诊断,然后采取适当的措施解决。

PC发送echo请求,收到echo回复如上图所示。ping报文被mark成Type 8,回复报文mark成Type 0。

如果多次ping同一系统,在PC上删除ARP cache,使用如下ARP命令之后,会产生一个新的ARP请求。

C:\> ping 192.168.1.1

… ping output …

C:\> arp –d *

HTTP:

HTTP协议是目前使用最广泛的一种基础协议,这得益于目前很多应用都基于WEB方式,实现容易,软件开发部署也简单,无需额外的客户端,使用浏览器即可使用。这一过程开始于请求服务器传送网络文件。

从上图可见报文中包括一个GET命令,当HTTP发送初始GET命令之后,TCP继续数据传输过程,接下来的链接过程中HTTP会从服务器请求数据
并使用TCP将数据传回客户端。传送数据之前,服务器通过发送HTTP
OK消息告知客户端请求有效。如果服务器没有将目标发送给客户端的许可,将会返回403
Forbidden。如果服务器找不到客户端所请求的目标,会返回404。

如果没有更多数据,连接可被终止,类似于TCP三次握手信号的SYN和ACK报文,这里发送的是FIN和ACK报文。当服务器结束传送数据,就发送
FIN/ACK给客户端,此报文表示结束连接。接下来客户端返回ACK报文并且对FIN/ACK中的序列号加1。这就从服务器端终止了通信。要结束这一过
程客户端必须重新对服务器端发起这一过程。必须在客户端和服务器端都发起并确认FIN/ACK过程。

Wireshark(二):应用Wireshark观察基本网络协议,布布扣,bubuko.com

时间: 2024-10-09 21:43:50

Wireshark(二):应用Wireshark观察基本网络协议的相关文章

Wireshark使用介绍(二):应用Wireshark观察基本网络协议

TCP: TCP/IP通过三次握手建立一个连接.这一过程中的三种报文是:SYN,SYN/ACK,ACK. 第一步是找到PC发送到网络服务器的第一个SYN报文,这标识了TCP三次握手的开始. 如果你找不到第一个SYN报文,选择Edit -> Find Packet菜单选项.选择Display Filter,输入过滤条件:tcp.flags,这时会看到一个flag列表用于选择.选择合适的flag,tcp.flags.syn并且加上==1.点击Find,之后trace中的第一个SYN报文就会高亮出来了

一站式学习Wireshark(二):应用Wireshark观察基本网络协议

TCP: TCP/IP通过三次握手建立一个连接.这一过程中的三种报文是:SYN,SYN/ACK,ACK. 第一步是找到PC发送到网络服务器的第一个SYN报文,这标识了TCP三次握手的开始. 如果你找不到第一个SYN报文,选择Edit -> Find Packet菜单选项.选择Display Filter,输入过滤条件:tcp.flags,这时会看到一个flag列表用于选择.选择合适的flag,tcp.flags.syn并且加上==1.点击Find,之后trace中的第一个SYN报文就会高亮出来了

应用Wireshark观察基本网络协议

TCP: TCP/IP通过三次握手建立一个连接.这一过程中的三种报文是:SYN,SYN/ACK,ACK. 第一步是找到PC发送到网络服务器的第一个SYN报文,这标识了TCP三次握手的开始. 如果你找不到第一个SYN报文,选择Edit -> Find Packet菜单选项.选择Display Filter,输入过滤条件:tcp.flags,这时会看到一个flag列表用于选择.选择合适的flag,tcp.flags.syn并且加上==1.点击Find,之后trace中的第一个SYN报文就会高亮出来了

Wireshark网络抓包(三)——网络协议

一.ARP协议 ARP(Address Resolution Protocol)地址解析协议,将IP地址解析成MAC地址. IP地址在OSI模型第三层,MAC地址在OSI第二层,彼此不直接通信: 在通过以太网发生IP数据包时,先封装第三层(32位IP地址)和第二层(48位MAC地址)的报头: 但由于发送数据包时只知道目标IP地址,不知道其Mac地址,且不能跨越第二.三层,所以需要使用地址解析协议. ARP工作流程分请求和响应: 在dos窗口内"ping"某个域名抓取到的包: 二.IP协

Wireshark数据抓包分析——网络协议篇

Wireshark是目前最受欢迎的抓包工具.它可以运行在Windows.Linux及MAC OS X操作系统中,并提供了友好的图形界面.同时,Wireshark提供功能强大的数据抓包功能.使用它,可以以各种方式抓取用户所需要的网络数据包. 但是用户往往无法从数据包中直接获取所需要的数据.这是由于所有的信息在传输过程中,都会被按照各种网络协议进行封装.用户想要从海量的数据抓包中获取的有用的信息,必须了解各种常见的网络协议.为了方便用户对数据包的分析,本书详细介绍了常用的各种网络协议,如ARP.IP

为什么在我停止网络协议捕获后Wireshark会挂起?

在使用Wireshark进行网络协议捕获和分析的完成停止的时候,Wireshark会自动挂起,你是否也遇到了这个问题?最可能的原因是Wireshark试图在捕获中查找IP地址以将其转换为名称(例如,它可以在源地址或目标地址列中显示名称),以及查找过程需要很长时间. Wireshark常见问题解决 Wireshark在运行它的机器的操作系统中调用例程,将IP地址转换为相应的名称.该例程可能会执行以下一项或多项操作: 1.搜索列出IP地址和名称的系统文件 2.使用DNS查找 如果在地址查找中使用的D

使用wireshark 抓取 http https tcp ip 协议进行学习

使用wireshark 抓取 http https tcp ip 协议进行学习 前言 本节使用wireshark工具抓包学习tcp ip http 协议 1. tcp 1.1 tcp三次握手在wireshark中的体现 1.1.1 三次握手过程 1.1.1 wireshark中三次握手过程 在wireshark中抓一次三次握手过程 客户端 客户端发送SYN=1 的请求连接的标记位,以及一个随机序列号X 服务端 服务端发送一个ACK标志位(ack之前的syn),随之一个ack号码为X+1 确认接收

基于netwox/netwag 工具的网络协议攻防实验

实验目的: 理解基于网络协议的攻击原理, 掌握一些基于网络协议攻击的方法, 掌握 netwox/netwag 的使用方法. 实验环境: netwox/netwag 工具, wireshark 工具, Telnet 服务器, Telnet 客户端 实验准备: 1. 安装 netwox/netwag 工具:先安装 ActiveTcl,再解压安装 2. 安装配置 Telnet 服务器, Telnet 客户端 实验内容: 使用 netwox/netwag 工具伪造 TCP 包并进行抓包分析 2. 使用

网络协议详解

目录:::::: 一.网络协议 二.TCP(Transmission Control Protocol,传输控制协议) TCP头格式      TCP协议中的三次握手和四次挥手      TCP报文抓取工具三.HTTP(HyperText Transfer Protocol,超文本传输协议) 请求报文结构      请求报文样例      请求报文参数详解      响应报文结构      响应报文样例      响应报文参数详解      HTTP报文抓取工具      Session和Coo