当前位置:文档之家› 如何理解wireshark抓取的数据包含义之“Understanding TCP Sequence and Acknowledgment Numbers”

如何理解wireshark抓取的数据包含义之“Understanding TCP Sequence and Acknowledgment Numbers”

如何理解wireshark抓取的数据包含义之“Understanding TCP Sequence and Acknowledgment Numbers”
如何理解wireshark抓取的数据包含义之“Understanding TCP Sequence and Acknowledgment Numbers”

Understanding TCP Sequence and Acknowledgment Numbers

By stretch | Monday, June 7, 2010 at 2:15 a.m. UTC

If you're reading this, odds are that you're already familiar with TCP's infamous "three-way handshake," or "SYN, SYN/ACK, ACK." Unfortunately, that's where TCP education ends for many networkers. Despite its age, TCP is a relatively complex protocol and well worth knowing intimately. This article aims to help you become more comfortable examining TCP sequence and acknowledgment numbers in the Wireshark packet analyzer.

Before we start, be sure to open the example capture in Wireshark and play along.

The example capture contains a single HTTP request to a web server, in which the client web browser requests a single image file, and the server returns an HTTP/1.1 200 (OK) response which includes the file requested. You can right-click on any of the TCP packets within this capture and select Follow TCP Stream to open the raw contents of the TCP stream in a separate window for inspection. Traffic from the client is shown in red, and traffic from the server in blue.

The Three-Way Handshake

TCP utilizes a number of flags, or 1-bit boolean fields, in its header to control the state of a connection. T he three we're most interested in here are:

?SYN - (Synchronize) Initiates a connection

?FIN - (Final) Cleanly terminates a connection

?ACK - Acknowledges received data

As we'll see, a packet can have multiple flags set.

Select packet #1 in Wireshark and expand the TCP layer analysis in the middle pane, and further expand the "Flags" field within the TCP header. Here we can see all of the TCP flags broken down. Note that the SYN flag is on (set to 1).

Now do the same for packet #2. Notice that it has two flags set: ACK to acknowledge the receipt of the client's SYN packet, and SYN to indicate that the server also wishes to establish a TCP connection.

Packet #3, f rom the client, has only the ACK flag set. These three packets complete the initial TCP three-way handshake.

Sequence and Acknowledgment Numbers

The client on either side of a TCP session maintains a 32-bit sequence number ,it uses to keep track of how much data it has sent. This sequence number is included on each transmitted packet, and acknowledged by the opposite host as an acknowledgment number to inform the sending host that the transmitted data was received successfully.

When a host initiates a TCP session, its initial sequence number is effectively random; it may be any value between 0 and 4,294,967,295, inclusive. However, protocol analyzers like Wireshark will typically display relative sequence and acknowledgment number in place of the field's actual value. These values are relative to the initial sequence number of that stream. This is handy, as it is much easier to keep track of relatively small, predictable numbers rather than the actual numbers sent on the wire.

For example,the initial relative sequence number shown in packet #1 is 0 (naturally), while the ASCII decode in the third pane shows that the actual sequence number is 0xf61c6cbe, or 4129057982 decimal.

The display of relative sequence numbers can optionally be disabled by navigating to Edit > Preferences... an d un-checking Relative sequence numbers and window scaling under TCP protocol preferences. However, be aware that the remainder of this article will reference relative sequence and acknowledgment numbers only.

To better understand how sequence and acknowledgment numbers are used throughout the duration of a TCP session,we can utilize Wireshark's built-in flow graphing ability. Navigate to Statistics > Flow Graph..., select TCP flow and click OK. Wireshark automatically builds a graphical summary of the TCP flow.

Each row represents a single TCP packet. The left column indicates the direction of the packet, TCP ports, segment length, and the flag(s) set. The column at right lists the relative sequence and acknowledgment numbers in decimal. Selecting a row in this column also highlights the corresponding packet in the main window.

We can use this flow graph to better understand how sequence and acknowledgment numbers work.

Packet #1

Each side of a TCP session starts out with a (relative) sequence number of zero. Likewise, the acknowledgment number is also zero, as there is not yet a complementary side of the conversation to acknowledge.

(Note: The version of Wireshark used for this demonstration, 1.2.7, shows the acknowledgment number as an apparently random number. This believed to be a software bug; the initial acknowledgment number of a session should always be zero, as you can see from inspecting the hex dump of the packet.)

Packet #2

The server responds to the client with a sequence number of zero, as this is its first packet in this TCP session, and a relative acknowledgment number of 1. The acknowledgment number is set to 1 to indicate the receipt of the client's SYN flag in packet #1.

Notice that the acknowledgment number has been increased by 1 although no payload data has yet been sent by the client. This is because the presence of the SYN or FIN flag in a received packet triggers an increase of 1 in the sequence. (This does not interfere with the accounting of payload data, because packets with the SYN or FIN flag set do not carry a payload.)

Packet #3

Like in packet #2, the client responds to the server's sequence number of zero with an acknowledgment number of 1. The client includes its own sequence number of 1 (incremented from zero because of the SYN).

At this point, the sequence number for both hosts is 1. This initial increment of 1 on both hosts' sequence numbers occurs during the establishment of all TCP sessions.

Packet #4

This is the first packet in the stream which carries an actual payload (specifically, the client's HTTP request). The sequence number is left at 1, since no data has been transmitted since the last packet in this stream. The acknowledgment number is also left at 1, since no data has been received from the server, either.

Note that this packet's payload is 725 bytes in length.

Packet #5

This packet is sent by the server solely to acknowledge the data sent by the client in packet #4 while upper layers process the HTTP request. Notice that the acknowledgment number has increased by 725 (the length of the payload in packet #4) to 726; e.g., "I have received 726 bytes so far." The server's sequence number remains at 1.

Packet #6

This packet marks the beginning of the server's HTTP response. Its sequence number is still 1, since none of its packets prior to this one have carried a payload. This packet carries a payload of 1448 bytes.

Packet #7

The sequence number of the client has been increased to 726 because of the last packet it sent. Having received 1448 bytes of data from the server, the client increases its acknowledgment number from 1 to 1449.

For the majority of the capture, we will see this cycle repeat. The client's sequence number will remain steady at 726, because it has no data to transmit beyond the initial 725 byte response. The server's sequence number, in contrast, continues to grow as it sends more segments of the HTTP response.

Tear-down

Packet #38

After acknowledging the last segment of data from the server, the client processes the HTTP response as a whole and decides no further communication is needed. Packet #38 is sent by the client with the FIN flag set. Its acknowledgment number remains the same as in the prior packet (#37).

Packet #39

The server acknowledges the client's desire to terminate the connection by increasing the acknowledgment number by one (similar to what was done in packet #2 to acknowledge the SYN flag) and setting the FIN flag as well.

Packet #40

The client sends its final sequence number of 727, and acknowledges the server's FIN packet by incrementing the acknowledgment number by 1 to 22952.

At this point, both hosts have terminated the session and can release the software resources dedicated to its maintenance.

About the Author

计算机网络课程设计---基于Wireshark的网络数据包内容解析

基于Wireshark的网络数据包内容解析 摘要本课程设计是利用抓包软件Wireshark,对网络服务器与客户端进行网络数据收发过程中产生的包进行抓取,然后对所抓取的包进行分析,并结合的协议进行分析,达到了解各种数据包结构的目的。设计过程中对各种包进行抓取分析,各种包之间比较,了解每种包的传输过程与结构,通过本次课程设计,能很好的运用Wireshark对数据包分析和Wireshark各种运用,达到课程设计的目的。 关键词IP协议;TCP协议;UDP协议;ARP协议;Wireshark;计算机网络; 1 引言 本课程设计主要是设计一个基于Wireshark的网络数据包内容解析,抓取数据包,然后对所抓取的包进行分析,并结合的协议进行分析,达到了解各种数据包结构的目的 1.1 课程设计目的 Wireshark是一个网络封包分析软件。可以对网络中各种网络数据包进行抓取,并尽可能显示出最为详细的网络封包资料,计算机网络课程设计是在学习了计算机网络相关理论后,进行综合训练课程,其目的是: 1.了解并会初步使用Wireshark,能在所用电脑上进行抓包; 2.了解IP数据包格式,能应用该软件分析数据包格式。 1.2 课程设计要求 (1)按要求编写课程设计报告书,能正确阐述设计结果。 (2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。 (3)学会文献检索的基本方法和综合运用文献的能力。

(4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。 1.3 课程设计背景 一、Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。 网络封包分析软件的功能可想像成 "电工技师使用电表来量测电流、电压、电阻" 的工作 - 只是将场景移植到网络上,并将电线替换成网络线。在过去,网络封包分析软件是非常昂贵,或是专门属于营利用的软件。Wireshark的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Wireshark是目前全世界最广泛的网络封包分析软件之一。 二、网络嗅探需要用到网络嗅探器,其最早是为网络管理人员配备的工具,有了嗅探器网络管理员可以随时掌握网络的实际情况,查找网络漏洞和检测网络性能,当网络性能急剧下降的时候,可以通过嗅探器分析网络流量,找出网络阻塞的来源。网络嗅探是网络监控系统的实现基础。 网络嗅探需要用到网络嗅探器,其最早是为网络管理人员配备的工具,有了嗅探器网络管理员可以随时掌握网络的实际情况,查找网络漏洞和检测网络性能,当网络性能急剧下降的时候,可以通过嗅探器分析网络流量,找出网络阻塞的来源。嗅探器也是很多程序人员在编写网络程序时抓包测试的工具,因为我们知道网络程序都是以数据包的形式在网络中进行传输的,因此难免有协议头定义不对的。 网络嗅探的基础是数据捕获,网络嗅探系统是并接在网络中来实现对于数据的捕获的,这种方式和入侵检测系统相同,因此被称为网络嗅探。网络嗅探是网络监控系统的实现基础,首先就来详细地介绍一下网络嗅探技术,接下来就其在网络监控系统的运用进行阐述。 2 网络协议基础知识 2.1 IP协议 (1) IP协议介绍

Wireshark抓包实例分析

Wireshark抓包实例分析 通信工程学院010611班赖宇超01061093 一.实验目的 1.初步掌握Wireshark的使用方法,熟悉其基本设置,尤其是Capture Filter和Display Filter 的使用。 2.通过对Wireshark抓包实例进行分析,进一步加深对各类常用网络协议的理解,如:TCP、UDP、IP、SMTP、POP、FTP、TLS等。 3.进一步培养理论联系实际,知行合一的学术精神。 二.实验原理 1.用Wireshark软件抓取本地PC的数据包,并观察其主要使用了哪些网络协议。 2.查找资料,了解相关网络协议的提出背景,帧格式,主要功能等。 3.根据所获数据包的内容分析相关协议,从而加深对常用网络协议理解。 三.实验环境 1.系统环境:Windows 7 Build 7100 2.浏览器:IE8 3.Wireshark:V 1.1.2 4.Winpcap:V 4.0.2 四.实验步骤 1.Wireshark简介 Wireshark(原Ethereal)是一个网络封包分析软件。其主要功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。其使用目的包括:网络管理员检测网络问题,网络安全工程师检查资讯安全相关问题,开发者为新的通讯协定除错,普通使用者学习网络协议的

相关知识……当然,有的人也会用它来寻找一些敏感信息。 值得注意的是,Wireshark并不是入侵检测软件(Intrusion Detection Software,IDS)。对于网络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark 撷取的封包能够帮助使用者对于网络行为有更清楚的了解。Wireshark不会对网络封包产生内容的修改,它只会反映出目前流通的封包资讯。Wireshark本身也不会送出封包至网络上。 2.实例 实例1:计算机是如何连接到网络的? 一台计算机是如何连接到网络的?其间采用了哪些协议?Wireshark将用事实告诉我们真相。如图所示: 图一:网络连接时的部分数据包 如图,首先我们看到的是DHCP协议和ARP协议。 DHCP协议是动态主机分配协议(Dynamic Host Configuration Protocol)。它的前身是BOOTP。BOOTP可以自动地为主机设定TCP/IP环境,但必须事先获得客户端的硬件地址,而且,与其对应的IP地址是静态的。DHCP是BOOTP 的增强版本,包括服务器端和客户端。所有的IP网络设定数据都由DHCP服务器集中管理,并负责处理客户端的DHCP 要求;而客户端则会使用从服务器分配下来的IP环境数据。 ARP协议是地址解析协议(Address Resolution Protocol)。该协议将IP地址变换成物理地址。以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的地址。这就需要在互连层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP协议。 让我们来看一下数据包的传送过程:

实验一-Wireshark的安装与使用

一、实验目的 1、熟悉并掌握Wireshark的基本使用; 2、了解网络协议实体间进行交互以及报文交换的情况。 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、预备知识 要深入理解网络协议,需要观察它们的工作过程并使用它们,即观察两个协议实体之间交换的报文序列,探究协议操作的细节,使协议实体执行某些动作,观察这些动作及其影响。这种观察可以在仿真环境下或在因特网这样的真实网络环境中完成。 观察正在运行的协议实体间交换报文的基本工具被称为分组嗅探器(packet sniffer),又称分组捕获器。顾名思义,分组嗅探器捕获(嗅探)你的计算机发送和接收的报文。 图显示了一个分组嗅探器的结构。 图分组嗅探器的结构 图右边是计算机上正常运行的协议和应用程序(如:Web浏览器和FTP客户端)。分组嗅探器(虚线框中的部分)主要有两部分组成:第一是分组捕获器,其功能是捕获计算机发送和接收的每一个链路层帧的拷贝;第二个组成部分是分组分析器,其作用是分析并显示协议报文所有字段的内容(它能识别目前使用的各种网络协议)。 Wireshark是一种可以运行在Windows, UNIX, Linux等操作系统上的分组

嗅探器,是一个开源免费软件,可以从下载。 运行Wireshark 程序时,其图形用户界面如图所示。最初,各窗口中并无数据显示。Wireshark 的界面主要有五个组成部分: 命令和菜单 协议筛选框 捕获分组 列表 选定分组 首部明细 分组内容 左:十六进制 右:ASCII码 图 Wireshark 主界面 命令菜单(command menus):命令菜单位于窗口的最顶部,是标准的下拉式菜单。 协议筛选框(display filter specification):在该处填写某种协议的名称,Wireshark据此对分组列表窗口中的分组进行过滤,只显示你需要的分组。 捕获分组列表(listing of captured packets):按行显示已被捕获的分组内容,其中包括:分组序号、捕获时间、源地址和目的地址、协议类型、协议信息说明。单击某一列的列名,可以使分组列表按指定列排序。其中,协议类型是发送或接收分组的最高层协议的类型。 分组首部明细(details of selected packet header):显示捕获分组列表窗口中被选中分组的首部详细信息。包括该分组的各个层次的首部信息,需要查看哪层信息,双击对应层次或单击该层最前面的“+”即可。 分组内容窗口(packet content):分别以十六进制(左)和ASCII码(右)两种格式显示被捕获帧的完整内容。

如何理解wireshark抓取的数据包含义之“Understanding TCP Sequence and Acknowledgment Numbers”

Understanding TCP Sequence and Acknowledgment Numbers By stretch | Monday, June 7, 2010 at 2:15 a.m. UTC If you're reading this, odds are that you're already familiar with TCP's infamous "three-way handshake," or "SYN, SYN/ACK, ACK." Unfortunately, that's where TCP education ends for many networkers. Despite its age, TCP is a relatively complex protocol and well worth knowing intimately. This article aims to help you become more comfortable examining TCP sequence and acknowledgment numbers in the Wireshark packet analyzer. Before we start, be sure to open the example capture in Wireshark and play along. The example capture contains a single HTTP request to a web server, in which the client web browser requests a single image file, and the server returns an HTTP/1.1 200 (OK) response which includes the file requested. You can right-click on any of the TCP packets within this capture and select Follow TCP Stream to open the raw contents of the TCP stream in a separate window for inspection. Traffic from the client is shown in red, and traffic from the server in blue. The Three-Way Handshake TCP utilizes a number of flags, or 1-bit boolean fields, in its header to control the state of a connection. T he three we're most interested in here are: ?SYN - (Synchronize) Initiates a connection ?FIN - (Final) Cleanly terminates a connection ?ACK - Acknowledges received data As we'll see, a packet can have multiple flags set.

Wireshark使用教程

第 1 章介绍 1.1. 什么是Wireshark Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。 你可以把网络包分析工具当成是一种用来测量有什么东西从网线上进出的测量工具,就好像使电工用来测量进入电信的电量的电度表一样。(当然比那个更高级) 过去的此类工具要么是过于昂贵,要么是属于某人私有,或者是二者兼顾。 Wireshark出现以后,这种现状得以改变。Wireshark可能算得上是今天能使用的最好的开元网络分析软件。 1.1.1. 主要应用 下面是Wireshark一些应用的举例: ?网络管理员用来解决网络问题 ?网络安全工程师用来检测安全隐患 ?开发人员用来测试协议执行情况 ?用来学习网络协议 除了上面提到的,Wireshark还可以用在其它许多场合。 1.1. 2. 特性 ?支持UNIX和Windows平台 ?在接口实时捕捉包 ?能详细显示包的详细协议信息 ?可以打开/保存捕捉的包 ?可以导入导出其他捕捉程序支持的包数据格式 ?可以通过多种方式过滤包 ?多种方式查找包 ?通过过滤以多种色彩显示包 ?创建多种统计分析 ?…还有许多 不管怎么说,要想真正了解它的强大,您还得使用它才行 图 1.1. Wireshark捕捉包并允许您检视其内

1.1.3. 捕捉多种网络接口 Wireshark 可以捕捉多种网络接口类型的包,哪怕是无线局域网接口。想了解支持的所有网络接口类型,可以在我们的网站上找到https://www.doczj.com/doc/3b27446.html,/CaptureSetup/NetworkMedia. 1.1.4. 支持多种其它程序捕捉的文件 Wireshark可以打开多种网络分析软件捕捉的包,详见??? 1.1.5. 支持多格式输出 Wieshark可以将捕捉文件输出为多种其他捕捉软件支持的格式,详见??? 1.1.6. 对多种协议解码提供支持 可以支持许多协议的解码(在Wireshark中可能被称为解剖)??? 1.1.7. 开源软件 Wireshark是开源软件项目,用GPL协议发行。您可以免费在任意数量的机器上使用它,不用担心授权和付费问题,所有的源代码在GPL框架下都可以免费使用。因为以上原因,人们可以很容易在Wireshark上添加新的协议,或者将其作为插件整合到您的程序里,这种应用十分广泛。 1.1.8. Wireshark不能做的事 Wireshark不能提供如下功能 ?Wireshark不是入侵检测系统。如果他/她在您的网络做了一些他/她们不被允许的奇怪的事情,Wireshark不会警告您。但是如果发生了奇怪的事情,Wireshark可能对察看发生了什么会有所帮助。[3]?Wireshark不会处理网络事务,它仅仅是“测量”(监视)网络。Wireshark不会发送网络包或做其它交互性的事情(名称解析除外,但您也可以禁止解析)。 1.2. 系通需求 想要安装运行Wireshark需要具备的软硬件条件... 1.2.1. 一般说明 ?给出的值只是最小需求,在大多数网络中可以正常使用,但不排除某些情况下不能使用。[4] ?在繁忙的网络中捕捉包将很容塞满您的硬盘!举个简单的例子:在100MBIT/s全双工以太网中捕捉数据将会产生750MByties/min的数据!在此类网络中拥有高速的CPU,大量的内存和足够的磁盘空间是十分有必要的。 ?如果Wireshark运行时内存不足将会导致异常终止。可以在 https://www.doczj.com/doc/3b27446.html,/KnownBugs/OutOfMemory察看详细介绍以及解决办法。 ?Wireshark作为对处理器时间敏感任务,在多处理器/多线程系统环境工作不会比单独处理器有更快的速度,例如过滤包就是在一个处理器下线程运行,除了以下情况例外:在捕捉包时“实时更新包列表”,此时捕捉包将会运行在一个处理下,显示包将会运行在另一个处理器下。此时多处理或许会有所帮助。[5] 1.2.2. Microsoft Windows ?Windows 2000,XP Home版,XP Pro版,XP Tablet PC,XP Media Center, Server 2003 or Vista(推荐在XP下使用) ?32-bit奔腾处理器或同等规格的处理器(建议频率:400MHz或更高),64-bit处理器在WoW64仿真环境下-见一般说明 ?128MB系统内存(建议256Mbytes或更高) ?75MB可用磁盘空间(如果想保存捕捉文件,需要更多空间) 800*600(建议1280*1024或更高)分辨率最少65536(16bit)色,(256色旧设备安装时需要选择”legacy GTK1”) ?网卡需求: o以太网:windows支持的任何以太网卡都可以 o无线局域网卡:见MicroLogix support list, 不捕捉802.11包头和无数据桢。 o其它接口见:https://www.doczj.com/doc/3b27446.html,/CaptureSetup/NetworkMedia

实验四、使用Wireshark网络分析器分析数据包

实验四、使用Wireshark网络分析器分析数据包 一、实验目的 1、掌握Wireshark工具的安装和使用方法 2、理解TCP/IP协议栈中IP、TCP、UDP等协议的数据结构 3、掌握ICMP协议的类型和代码 二、实验内容 1、安装Wireshark 2、捕捉数据包 3、分析捕捉的数据包 三、实验工具 1、计算机n台(建议学生自带笔记本) 2、无线路由器n台 四、相关预备知识 1、熟悉win7操作系统 2、Sniff Pro软件的安装与使用(见Sniff Pro使用文档)

五、实验步骤 1、安装Wireshark Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。网络包分析工具是一种用来测量有什么东西从网线上进出的测量工具,Wireshark 是最好的开源网络分析软件。 Wireshark的主要应用如下: (1)网络管理员用来解决网络问题 (2)网络安全工程师用来检测安全隐患 (3)开发人员用来测试协议执行情况 (4)用来学习网络协议 (5)除了上面提到的,Wireshark还可以用在其它许多场合。 Wireshark的主要特性 (1)支持UNIX和Windows平台 (2)在接口实时捕捉包 (3)能详细显示包的详细协议信息 (4)可以打开/保存捕捉的包 (5)可以导入导出其他捕捉程序支持的包数据格式

(6)可以通过多种方式过滤包 (7)多种方式查找包 (8)通过过滤以多种色彩显示包 (9)创建多种统计分析 五、实验内容 1.了解数据包分析软件Wireshark的基本情况; 2.安装数据包分析软件Wireshark; 3.配置分析软件Wireshark; 4.对本机网卡抓数据包; 5.分析各种数据包。 六、实验方法及步骤 1.Wireshark的安装及界面 (1)Wireshark的安装 (2)Wireshark的界面 启动Wireshark之后,主界面如图:

GNS3,VPcs,wireshark安装与使用教程

GNS3,VPCS,wireshark的安装与使用教程 1.准备工作 (1)若原来安装过Dynamips和wincap(旧版本)的请先卸载。 (2)在任意盘下建立文件夹LAB,在该文件夹下建立3个子文件夹project, temp, ios,文件夹名字可以根据个人喜好改变,但一定要为英文。 (3)将已有的IOS及PIX的BIN文件拷到ios文件夹下(在GNS30.7版本中,模拟时无法识别RAR的文件,RAR文件必须解压为BIN文件,然后加载,GNS30.6中可以识别)。 2.开始安装 组件全部安装。 3.安装完成启动GNS3,进入初始界面,选择第一个 进入配置界面(第2次以及以后登录,在“编辑——首选项”中可打开)

设定:在语言处选择自己合适的语言,project为拓扑图所在处,image为IOS文件所在文件夹。然后选择左边的第二个Dynamips ; Executable path为dynmpis-wxp.Exe 的路径,选择你所安装的文件夹即可 Working director为GNS3工作时,产生的临时文件所在目录 Enable sparse memory feature 勾上,可以节约内存。 配置好后,点击Test,进行测试

测试成功,基本配置完成。 4.加载IOS(点击:“编辑——IOS和Hypervisors”);进入IOS配置界面 选择合适的IOS配置并保存(IOS先以放入对应的文件夹) 配置好后,选择路由器 运行路由器 当路由器成功运行后,准备计算Idle值(GNS3完全模拟路由器的内核,相当于真实路由,所以会大量消耗CPU和内存,计算Idle的值,是为了减少CPU空转的时间,提高利用率)

实验12 Wireshark 工具的使用与TCP数据包分析

Wireshark 工具的使用与TCP数据包分析(SEC-W07-007.1) Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是捕捉网络数据包,并尽可能显示出最为详细的数据包内容。在过去,网络数据包分析软件或者非常昂贵,或者专门属于营利用的软件。Wireshark的出现改变了这一切。在GNUGPL通用许可证的保障下,使用者可以免费取得软件及其源代码,并拥有对源代码修改的权利。Wireshark 是目前全世界最广泛的网络封包分析软件之一。 传输控制协议(Transmission Control Protocol),简称TCP协议,是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,由IETF的RFC 793说明(specified)。在简化的计算机网络OSI模型中,它完成第3层传输层所指定的功能,基于TCP的常见应用如TELNET,SSH,HTTP,FTP等。 实验目的 ●学习Wireshark工具的使用。 ●学习TCP协议及其TCP头部结构。 ●利用Wireshark分析TCP数据包内容。 实验准备 ●获取Windows 远程桌面客户端工具mstsc压缩包并解压。 ●获取服务器Windows操作系统Administrator管理员口令。 ●获取服务器IP地址。 实验步骤 学习Wireshark工具使用 步骤说明: 使用Wireshark工具,熟悉常见功能配置。 准备一台win20003和win xp电脑。 服务器(win2003): 1.设置IP地址为192.168.25.77 2.选择控制面板下的添加/删除程序---添加/删除windows组件对话框中的应用程序服务器---Internet 信息服务---文件传输协议(FTP)服务。 3.右击我的电脑,选择管理,选择本地用户和组---用户---administrator,设置其密码为123456 4.右击我的电脑,选择属性---远程选项卡,勾选远程桌面下的允许用户远程连接到这台计算机。(开启了3389端口,通过netstat –an 可以查看) 5.在该服务器上安装Wireshark软件。 Win xp(设置其ip地址为192.168.25.78) 1.运行远程桌面客户端程序mstsc.exe,输入服务器端IP地址,点击Connect连接,如图1:

wireshark实验抓包分析

TCP:(TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP 是面向连接的所以只能用于点对点的通讯)源IP地址:发送包的IP地址;目的IP地址:接收包的IP地址;源端口:源系统上的连接的端口;目的端口:目的系统上的连接的端口。 TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答SYN,ACK。这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议。第一次握手:建立连接时,客户端发送SYN包(SEQ=x)到服务器,并进入SYN_SEND状态,等待服务器确认。第二次握手:服务器收到SYN包,必须确认客户的SYN(ACK=x+1),同时自己也送一个SYN包(SEQ=y),即SYN+ACK包,此时服务器进入SYN_RECV状态。第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=y+1),此包发送完毕,客户端和服务器进入Established状态,完成三次握手。 第一行:帧Frame1指的是要发送的数据块;其中,捕获字节等于传输的字节数 第二行:以太网,是数据链路层;源MAC地址是:00:19:c6:00:06:3d,目的MAC地址是:00:1c:25:d4:91:9a;第三行:IPV4,源IP地址:172.24.3.5;目的IP是:172.24.7.26; 第四行:协议类型:TCP;源端口bctp(8999),目的端口:2376;序列号:每发送一个RTP数据包,序列号就加1;ACK是TCP数据包首部中的确认标志,对已接收到的TCP报文进行确认,其为 1表示确认号有效;长度是1448字节; 第五行:数据总有1448字节; 其中,对应的TCP首部的数据信息: 端口号:数据传输的16位源端口号和16位目的端口号(用于寻找发端和收端应用进程); 该数据包相对序列号是1(此序列号用来确定传送数据的正确位置,且序列号,用来侦测丢失的包);下一个数据包的序列号是1449; Acknowledgement number是32位确认序号,其等于1表示数据包收到,确认其有效;收到的数据包的头字节长度是4位32比特; Flags含6个标志比特: URG紧急指针(urgentpointer)有效 ACK确认序号有效。 PSH接收方应该尽快将这个报文段交给应用层。 RST重建连接。 SYN同步序号用来发起一个连接。 FIN发端完成发送任务。 window:(TCP的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。窗口大小是一个16bit字段,因而窗口大

实验二、Wireshark的使用与PackerTracer的使用

实验二 Wireshark的使用与PackerTracer的使用 实验目的:掌握网络协议分析软件Wireshark的常用操作和网络模拟器PackerTracer的常用操作。 实验环境:计算机若干、直通双绞线若干、小型非管理交换机10台。 实验步骤: 1、配置对等局域网 2、Wireshark的使用 (1)启动系统。点击“Wireshark”图标,将会出现如图1 所示的系统界面。 图1 Wireshark 系统界面 其中“俘获(Capture)”和“分析(Analyze)”是Wireshark 中最重要的功能。 (2) 分组俘获。点击“Capture/Interface”菜单,出现如图2 所示界面。 图2 俘获/接口界面 如果该机具有多个接口卡,则需要指定希望在哪块接口卡俘获分组。点击“Options”,则出现图3 所示的界面。

图3 俘获/接口/选项界面 在该界面上方的下拉框中将列出本机发现的所有接口;选择一个所需要的接口;也能够在此改变俘获或显示分组的选项。 此后,在图2 或者图3 界面中,点击“Start(开始)”,Wireshark 开始在指定接口上俘获分组,并显示类似于图4 的界面。 当需要时,可以点击“Capture/Stop” 停止俘获分组,随后可以点击“File/Save”将俘获的分组信息存入踪迹(trace)文件中。当需要再次俘获分组时,可以点击“Captuer/Start”重新开始俘获分组。 (3) 协议分析。系统能够对Wireshark 俘获的或打开的踪迹文件中的分组信息(用 File/Open 功能)进行分析。如图4 所示,在上部“俘获分组的列表”窗口中,有编号(No)、时间(Time)、源地址(Source)、目的地址(Destination)、协议(Protocol)、长度(Length)和信息(Info) 等列(栏目),各列下方依次排列着俘获的分组。中部“所选分组首部的细节信息”窗口给出选中协议数据单元的首部详细内容。下部“分组内容”窗口中是对应所选分组以十六进制数和ASCII 形式的内容。 若选择其中某个分组如第255 号帧进行分析。从图4 中的信息可见,该帧传输时间为俘获后的15.129546 秒;从源IP 地址119.147.41.101 传输到目的IP 地址222.95.175.235;帧的源MAC 地址和目的MAC 地址分别是00.e0.fc.65.73.59 和00.16.35.aa.f3.75 (从中部分组首部 信息窗口中可以看到);分组长度74 字节;是TCP 携带的HTTP 报文。

Wireshark的数据包截获及协议分析

Wireshark的数据包截获与协议分析 1 引言 在数据包的截获方面,Winpcap 是一个可在 Windows 环境下运行的包俘获结构,它由三部分组成:一个数据包截获驱动程序、一个底层动态链接库(Packet.dll)和一个高层静态链接库(wpcap.lib)。它的核心部分是数据包俘获驱动程序,在 Windows NT/2000 系统中,它实现为一个内核驱动程序(packet.sys),在 Windows 95/98 系统中是一个虚拟设备驱动程序 (packet.vxd), 包俘获驱动程序通过NDIS(Network Driver Interface Specification)同网络适配器的驱动程序进行通信,NDIS 是网络代码的一部分,它负责管理各种网络适配器以及在适配器和网络协议软件之间的通信。在库的高层是一个动态链接库(packet.dll)和一个静态链接库 (wpcap.lib),这两个库的作用是将俘获应用程序同包俘获驱动程序相隔离,屏蔽低层的实现细节,避免在程序中直接使用系统调用或 IOCTL 命令,为应用程序提供系统独立的高层接口(API 函数),从而在 Windows9x、Windows2000/XP 系统下,对驱动程序的系统调用都是相同的。 使用 Winpcap,我们可以编写出用于网络协议实验分析、故障诊断、网络安全和监视等各种应用程序,这方面的一个典型例子就是可在 Windows 系统下运行的 Wireshark,Wireshark 和 Winpcap 都可从网上下载,通过 Wireshark 我们可以从网上拦截数据包并对

数据包进行网络协议分析,下面介绍一个分析实例。

模拟器之GNS3完整安装及使用教程(关联Wireshark、xShell和VM)-收藏一篇就够

最新GNS3-2.2.7模拟器完整安装及使用教程(关联Wireshark、xShell6和GNS3.VM.VMware.Workstation.2.2.7) -收藏一篇就够别在碰壁 现阶段学习经常使用的路由交换设备主要来自于思科、华为和华三三家,当然还有中兴、锐捷、神州数码等厂商,这三家的设备操作配置大致类似,却又不尽相同。因为实体设备通常都非常昂贵,购买设备学习也是不现实的。所以我们通常会使用各厂商提供的模拟器来学习。华为的模拟器是eNSP,华三的则是H3C Cloud Lib,思科则是大名鼎鼎的GNS3、Cisco Packet Tracer、WEB-IOU、EVE-NG。今天笔者拿GNS3-2.2.7 目前最新版本来安装。 一、准备工具 ①GNS3-2.2.7-all-in-one.exe ②GNS3.VM.VMware.Workstation.2.2.7.zip/对应版本的GNS3虚拟机 ③Cisco IOU-ISO.zip (L2/L3设备镜像) ④IOS.rar (含从C1700 到C7200 的各种路由器bin 镜像) ⑤Xshell6_wm.exe 或者SecureCRT ⑥VMware-workstation-full-15.5.2-15785246.exe 下载链接 VMware-workstation-full-15.5.2-15785246

:https://pan.baidu./s/1k3UKDc6NRbl8DtgCNxG4AA 提取码:bolq GNS3 :https://pan.baidu./s/1NDxi-l5i4YtP6nzzmpGebg 提取码:te21 二、GNS3软件介绍 三、软件安装 3.1 安装GNS3-2.2.7-all-in-one.exe 双击GNS3-2.2.7-all-in-one.exe(需要连网,安装需要依赖的组件,当然知道怎么安装组件的也可以不用连网)安装包含Wireshark

最新计算机网络练习之使用WireShark捕获和分析数据包

以太帧和ARP包协议分析实验 一、目的 1、理解以太帧格式 2、理解ARP协议格式和ARP 协议的工作原理 二、实验类型 验证类实验 三、实验步骤 一:运行wireshark开始捕获数据包,如图所示点击第二行的start开始捕获数据包。启动界面: 抓包界面的启动是 按file下的按钮(或capture下的interfaces)之后会出现

这个是网卡的显示,因为我有虚拟机所以会显示虚拟网卡,我们现在抓的是真实网卡上的包所以在以太网卡右边点击start 开始抓包。(捕捉本地连接对应的网卡,可用ipconfig/all 查看) 二:几分钟后就捕获到许多的数据包了,主界面如图所示: 如上图所示,可看到很多捕获的数据。 第一列是捕获数据的编号; 第二列是捕获数据的相对时间,从开始捕获算为0.000秒; 第三列是源地址,第四列是目的地址; 第五列是数据包的信息。 选中第一个数据帧,然后从整体上看看Wireshark的窗口,主要被分成三部分。上面部分是所有数据帧的列表;中间部分是数据帧的描述信息;下面部分是帧里面的数据。 三:开始分析数据 1.打开“命令提示符”窗口,使用“arp -a”命令查看本地计算机ARP高速缓存。

2.使用“arp -d”命令清除本地计算机ARP高速缓存,再使用“arp -a”命令查看。 此时,本地计算机ARP高速缓存为空。 3.在下图中Filter后面的编辑框中输入:arp(注意是小写),然后回车或者点击“Apply”按钮 将计算机与数据设备相连(3928或路由器),参见静态路由配置。 3.此时,网络协议分析软件开始捕获数据,在“命令提示符”窗口中PING同一子网中的 任意主机。(计算机Aping计算机B)

使用Wireshark分析IP协议

使用Wireshark分析IP协议 一、实验目的 1、分析IP协议 2、分析IP数据报分片 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、实验步骤 IP协议是因特网上的中枢。它定义了独立的网络之间以什么样的方式协同工作从而形成一个全球户联网。因特网内的每台主机都有IP地址。数据被称作数据报的分组形式从一台主机发送到另一台。每个数据报标有源IP地址和目的IP地址,然后被发送到网络中。如果源主机和目的主机不在同一个网络中,那么一个被称为路由器的中间机器将接收被传送的数据报,并且将其发送到距离目的端最近的下一个路由器。这个过程就是分组交换。 IP允许数据报从源端途经不同的网络到达目的端。每个网络有它自己的规则和协定。IP 能够使数据报适应于其途径的每个网络。例如,每个网络规定的最大传输单元各有不同。IP 允许将数据报分片并在目的端重组来满足不同网络的规定。 DHCP报文: (1)DHCP-DISCOVER:DHCP客户端广播发送的,用来查找网络中可用的DHCP服务器。 (2)DHCP-OFFER:DHCP服务器用来响应客户端的DHCP-DISCOVER请求,并为客户端指定相应配置参数。 (3)DHCP-REQUEST:DHCP客户端广播发送DHCP服务器,用来请求配置参数或者续借租用。 (4)DHCP-ACK:DHCP服务器通知客户端可以使用分配的IP地址和配置参数。 (5)DHCP-NAK:DHCP服务器通知客户端地址请求不正确或者租期已过期,续租失败。 (6)DHCP-RELEASE:DHCP客户端主动向DHCP服务器发送,告知服务器该客户端不再需要分配的IP地址。 (7)DHCP-DECLINE:DHCP客户端发现地址冲突或者由于其它原因导致地址不能使用,则发送DHCP-DECLINE报文,通知服务器所分配的IP地址不可用。 (8)DHCP-INFORM:DHCP客户端已有IP地址,用它来向服务器请求其它配置参数

wireshark开发环境安装

Wireshark开发环境安装 前言 根据Wireshark官网安装指南提示,依次下载指定安装程序,一步步安装。该文档只是根据官方指导说明,主要步骤及安装过程中要点提出特别说明。具体安装过程参看官网安装指南。 参考文档:https://www.doczj.com/doc/3b27446.html,/docs/wsdg_html_chunked/ChSetupWin32.html 安装过程 安装vs2010 express 到官网下载vs2010,采用在线安装方式; 下载地址:https://www.doczj.com/doc/3b27446.html,/visualstudio/eng/downloads#d-2010-express 在线安装程序为:vc_web.exe; 安装到:D:\Kit\Microsoft Visual Studio 10.0 安装sdk 下载地址:https://www.doczj.com/doc/3b27446.html,/en-us/windowsserver/bb980924.aspx Windows sdk 安装,安装程序winsdk_web.exe; 安装到:D:\Kit\Microsoft SDKs 安装Microsoft Visual Studio 2010 Service Pack 1 下载地址:https://www.doczj.com/doc/3b27446.html,/en-us/download/details.aspx?id=23691 在线安装文件:VS10sp1-KB983509.exe 重新启动; (64位系统)sdk补丁 64bit系统需要安装,32bit系统忽略此补丁; 下载地址:https://www.doczj.com/doc/3b27446.html,/en-us/download/confirmation.aspx?id=4422# 安装程序:VC-Compiler-KB2519277.exe

wireshark数据包分析实验报告

西安邮电学院 计算机网络技术及应用实验 报告书 系部名称:管理工程学院 学生姓名:*** 专业名称:********* 班级:**** 学号:******** 时间:2012年04月01日

实验题目 Wireshark抓包分析实验 一.实验目的 1.了解并会初步使用Wireshark,能在所用电脑上进行抓包 2.了解IP数据包格式,能应用该软件分析数据包格式 3.查看一个抓到的包的内容,并分析对应的IP数据包格式 二.实验内容 1.安装Wireshark,简单描述安装步骤。 安装过程:点击安装图标 接着出现如图所示: 点击next后按如下步骤: 在“License Agreement”窗口下点击‘I Agree’,弹出“Choose Components”窗口,点‘next’后弹出“Select Additional Tasks”窗口,点‘next’又弹出“Choose Install Location”窗口后再点‘next’,弹出“Install Winpcap”窗口(选‘Install Winpcap4.12’)点击‘Install’,接着弹出“Installing”窗口(在运行时弹出“Winpcap4.12 Set up”窗口,点击‘确定’,且在接下来弹出的窗口下按如下步骤点击:next—next—I Agree—Install—finsh),接着点击‘next’弹出如下窗口: 并选择‘’并点击‘Finsh’: 2.打开wireshark,选择接口选项列表。或单击“Capture”,配置“option”选项。 3.设置完成后,点击“start”开始抓包. 显示结果: 4.选择某一行抓包结果,双击查看此数据包具体结构如下: 三.捕捉IP数据包。 数据包信息: 1、写出IP数据包的格式如下: 2、将捕捉的IP数据包的分析得出格式图例如下: 3、针对每一个域所代表的含义进行解释。 IP数据报首部各部分含义: (1)版本占4位,指IP协议的版本。通信双方使用的IP协议版本必须一致。目前广泛使用的IP协议版本号为4(即IPv4)。 (2)首部长度占4位,可表示的最大十进制数值是15。请注意,这个字段所表示数的单位是32位字长(1个32位字长是4字节),因此,当IP的首部长度为1111时(即十进制的15),首部长度就达到60字节。当IP分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。因此数据部分永远在4字节的整数倍开始,这样在实现IP协议时较为方便。首部长度限制为60 字节的缺点是有时可能不够用。但这样做是希望用户尽量减少开销。最常用的首部 (3)区分服务占8位,用来获得更好的服务。这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过。1998年IETF把这个字段改名为区分服务DS(Differentiated Services)。只有在使用区分服务时,这个字段才起作用。

Windows下配置Wireshark

Windows下配置Wireshark(Ethereal)编译环境 第一步,先下载Wireshark源代码,https://www.doczj.com/doc/3b27446.html,/download/src/wireshark-1.0.0.tar.gz 然后解压到C:\,你可以解压到其它地方,不过解压到C盘可以避免后面的一些相当烦人的问题. 第二步,安装cygwin.cygwin是运行在windows下的模拟linux环境的一个很牛的软件,具体详细信息请访问https://www.doczj.com/doc/3b27446.html,/。 2.1下载到cygwin的setup.exe后运行,按照说明一步一步下去, 2.2先选在线安装,Root Directory也选默认.

2.3因为setup.exe是先将文件下载到本地然后再安装的,所以这里选择的是你把下载后的文件放到哪里。这个随便个人爱好啦,这里需要留意一下,下面会用到这个路径。 2.4接下来的几步是选择网络,获取镜像列表,以及选择镜像地址,所以不截图了,直接下一步就可以。当到选择安装包时,请点下图标出的图标,然后确定软件包后面的字都变成install时点下一步. 等待吧,安装时间有点长。OK。完了以后先关闭,cygwin算安装完了,接下来就是要安装wireshark所需要的包了。

第三步,检查安装wireshark编译环境所必需的包. 3.1 将cygwin的bin目录作为环境变量加入到系统环境变量path中; 3.2 在Windows命令提示符窗口下进入到Wireshark的源码包目录下,找到config.nmake文件,修改WIRESHARK_LIBS=C:\wireshark-libs-1.0 CYGWIN_PATH=c:\cygwin\bin; 3.3 在Windows命令提示符窗口下运行:nmake -f Makefile.nmake verify_tools,有可能会返回类似下面一样的检查结果: 可以看出是没有安装flex包,所以需要手工去下载安装。下面网址基本都有。 https://www.doczj.com/doc/3b27446.html,/cygwin/release/ 找到flex包,下载以flex-2.5.33-1.tar.bz2,注意最好是tar.bz2 的包。然后在刚才上文提到的setup.exe的保存已经下载文件的路径下面你会找到一个名字很奇怪的文件夹。进入到里面,然后建立一个flex的文件夹,把下载下来的文件拷贝到里面去,然后重新运行setup.exe, 需要注意的是,在选择安装方式时,如下图所示: 选择本地安装,在选择安装包的时候同样如步骤2.4.然后直接到最后就可以。

相关主题
文本预览
相关文档 最新文档