WireShark抓取ARP协议
Posted 俊king
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WireShark抓取ARP协议相关的知识,希望对你有一定的参考价值。
WireShark抓取ARP协议
- 什么是
ARP
协议- 如何抓取
ARP
协议
什么是ARP协议
ARP(Address Resolution Protocol)
作用:
根据IP
地址获取物理地址
协议本身基于:
TCP/IP
协议
物理主机--->发包--->网关(物理主机找网关这一步是广播发送的包,任何主机都能收到(存在ARP欺骗))--->发包--->资源服务器
真正上网并不是通过ip
地址上网,是靠物理地址
上网
ARP欺骗的本质:
由于第一次发包是广播的形式,所以如果黑客主机比网关先一步给物理主机反馈,那么物理主机就会认为黑客主机是网关,并且保存在配置文件当中.后续任何的包都会先发给黑客主机(断网)
Hardware type:
--->硬件类型Protocol type:
--->网络层协议类型Hardware size:
--->硬件地址长度(6字节,48位)Protocol size:
--->协议长度(4字节32位)Opceod:
--->发送请求类型--->响应
第一个请求:
-
第一个请求是网关向我们的电脑发请求寻找我们的
Mac
地址 -
第一条请求是
request
请求
使用Wireshark分析-以太网帧与ARP协议-IP协议-ICMP-UDP协议-TCP协议-协议HTTP-DNS协议
文章目录
- 实验一 Wireshark的使用
- 实验二 使用Wireshark分析以太网帧与ARP协议
- 实验三 利用Wireshark分析ICMP
- 实验四 使用Wireshark分析UDP协议
- 实验六 使用Wireshark分析TCP协议
- 实验七 利用Wireshark分析协议HTTP
- 实验八 利用Wireshark分析DNS协议
实验一 Wireshark的使用
一、实验目的
1、熟悉并掌握Wireshark的基本使用;
2、了解网络协议实体间进行交互以及报文交换的情况。
二、实验环境
与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。
三、 实验步骤
1.启动Web浏览器(如IE);
2. 启动Wireshark;
3. 开始分组捕获:单击工具栏开始按钮
4. 在运行分组捕获的同时,在浏览器地址栏中输入某个网页的URL,如:
5. 当完整的页面下载完成后,单击捕获对话框中的“stop”按钮,停止分组捕获。此时, Wireshark主窗口显示已捕获的你本次通信的所有协议报文;
6. 在协议筛选框中输入“http”,单击“apply”按钮,分组列表窗口将只显示HTTP协议报文。
7. 择分组列表窗口中的第一条http报文,它是你的计算机发向服务器(www.1688.com)的HTTP GET报文。当你选择该报文后,以太网帧、IP数据报、TCP报文段、以及HTTP报文首部信息都将显示在分组首部子窗口中,其结果如图2。
图2
四、 问题与思考
在实验基础上,回答以下问题:
(1) 列出在第5步中分组列表子窗口所显示的所有协议类型;
网络协议:
传输协议:
(2) 从发出HTTP GET报文到接收到对应的HTTP OK响应报文共需要多长时间?(分组列表窗口中Time列的值是从Wireshark开始追踪到分组被捕获的总的时间数,以秒为单位)
需要0.068527秒
(3) 你主机的IP地址是什么?你访问的服务器的IP地址是什么?
主机IP:
服务器IP:
实验二 使用Wireshark分析以太网帧与ARP协议
一、实验目的
分析以太网帧,MAC地址和ARP协议
二、实验环境
与因特网连接的计算机网络系统;主机操作系统为windows;使用Wireshark、IE等软件。
三、实验步骤:
1、俘获和分析以太网帧
(1)选择 工具->Internet 选项->删除文件
(2)启动Wireshark 分组嗅探器
(3)在浏览器地址栏中输入如下网址:
https://www.baidu.com/百度一下
(4)停止分组俘获。在俘获分组列表中(listing of captured packets)中找到HTTP GET 信息和响应信息,如图1所示。
图1 HTTP GET信息和响应信息
HTTP GET信息被封装在TCP分组中,TCP分组又被封装在IP数据报中,IP数据报又被封装在以太网帧中)。在分组明细窗口中展开Ethernet II信息(packet details window)。
2、分析地址ARP协议
(1)ARP Caching
ARP协议用于将目的IP转换为对应的MAC地址。Arp命令用来观察和操作缓存中的内容。虽然arp 命令和ARP有一样的名字,很容易混淆,但它们的作用是不同的。在命令提示符下输入arp可以看到在你所在电脑中ARP缓存中的内容。为了观察到你所在电脑发送和接收ARP信息,我们需要清除ARP缓存,否则你所在主机很容易找到已知IP和匹配的MAC地址。
步骤如下:
(2) 清除ARP cache 具体做法:在MSDOS环境下,输入命令arp-d.
(3)启动Wireshark 分组嗅探器
(4)停止分组俘获.输入筛选条件arp,获得arp报文,如图所示
目的MAC地址:28:39:26:02:23:d3
源MAC地址:04:d3:b5:2a:f7:c3
帧类型:ARP(0x0806)
硬件类型:1
协议类型:IPV4(0x0800)
硬件地址长度:6字节
协议地址长度:4字节
Opcode:表示ARP报文的种类;取值为1,表示请求报文;取值为2,表示ARP应答报文
发送端MAC地址:04:d3:b5:2a:f7:c3(信息体的发起端)
发送端IP地址: 192.168.8.1
目的端 MAC地址:00:00:00_00:00:00:00
目的端IP地址:192.168.8.104
四、问题与思考
1、你所在的主机48-bit Ethernet 地址是多少?
2、Ethernet 帧中目的地址是多少?这个目的地址是www.baidu.com的Ethernet 地址吗?
目的地址是www.baidu.com的Ethernet 地址
实验三 利用Wireshark分析ICMP
一、实验目的
分析ICMP
二、实验环境
与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。
三、实验步骤
Ping命令依赖于ICMP。ICMP可以看作是IP协议的伴随协议。ICMP报文被封装在IP 数据报发送。
一些ICMP报文会请求信息。例如:在ping中,一个ICMP回应请求报文被发送给远程主机。如果对方主机存在,期望它们返回一个ICMP回应应答报文。
一些ICMP报文在网络层发生错误时发送。例如,有一种ICMP报文类型表示目的不可达。造成不可达的原因很多,ICMP报文试图确定这一问题。例如,可能是主机关及或整个网络连接断开。
有时候,主机本身可能没有问题,但不能发送数据报。例如IP首部有个协议字段,它指明了什么协议应该处理IP数据报中的数据部分。IANA公布了代表协议的数字的列表。例如,如果该字段是6,代表TCP报文段,IP层就会把数据传给TCP层进行处理;如果该字段是1,则代表ICMP报文,IP层会将该数据传给ICMP处理。如果操作系统不支持到达数据报中协议字段的协议号,它将返回一个指明“协议不可达”的ICMP报文。IANA同样公布了ICMP报文类型的清单。
1、ping 和 ICMP
利用Ping程序产生ICMP分组。Ping向因特网中的某个特定主机发送特殊的探测报文并等待表明主机在线的回复。具体做法:
(1)打开Windows命令提示符窗口(Windows Command Prompt)。
(2)启动Wireshark 分组嗅探器,在过滤显示窗口(filter display window)中输入icmp,开始Wireshark 分组俘获。
(3)输入“ping –n 10 www.baidu.com” 。其中“-n 10”指明应返回10条ping信息。
(4)当ping程序终止时,停止Wireshark 分组俘获。
实验结束后会出现如图所示的命令窗口:
图1 命令窗口
停止分组俘获后,会出现如图2所示的界面:
图2 停止分组俘获后Wireshark的界面
图3是在分组内容窗口中显示了ICMP协议的详细信息。观察这个ICMP分组,可以看出,此ICMP分组的Type 8 and Code 0 即所谓的ICMP “echo request” 分组。
图3 ICMP协议详细信息
网络协议:IPV4
IP帧部首长度:20byt
服务类型:0x00
IP帧总长度:60字节
协议类型:ICMP(1)
检验和:0x500c
源地址IP:192.168.1.17
目标地址IP:182.61.200.7
四、问题与思考
在实验的基础上,回答以下问题:
(1)你所在主机的IP地址是多少?目的主机的IP地址是多少?
所在主机IP:
目的主机IP:
(2)查看ping请求分组,ICMP的type 和code是多少?
(3)查看相应得ICMP响应信息,ICMP的type 和code又是多少?
(4)连接层的IP地址是多少?
(5)ICMP的type 和code是多少?
TYPE | CODE | Description | Query | Error |
---|---|---|---|---|
0 | 0 | Echo Reply——回显应答(Ping应答) | x | |
3 | 0 | Network Unreachable——网络不可达 | x | |
3 | 1 | Host Unreachable——主机不可达 | x | |
3 | 2 | Protocol Unreachable——协议不可达 | x | |
3 | 3 | Port Unreachable——端口不可达 | x | |
3 | 4 | Fragmentation needed but no frag. bit set——需要进行分片但设置不分片比特 | x | |
3 | 5 | Source routing failed——源站选路失败 | x | |
3 | 6 | Destination network unknown——目的网络未知 | x | |
3 | 7 | Destination host unknown——目的主机未知 | x | |
3 | 8 | Source host isolated (obsolete)——源主机被隔离(作废不用) | x | |
3 | 9 | Destination network administratively prohibited——目的网络被强制禁止 | x | |
3 | 10 | Destination host administratively prohibited——目的主机被强制禁止 | x | |
3 | 11 | Network unreachable for TOS——由于服务类型TOS,网络不可达 | x | |
3 | 12 | Host unreachable for TOS——由于服务类型TOS,主机不可达 | x | |
3 | 13 | Communication administratively prohibited by filtering——由于过滤,通信被强制禁止 | x | |
3 | 14 | Host precedence violation——主机越权 | x | |
3 | 15 | Precedence cutoff in effect——优先中止生效 | x | |
4 | 0 | Source quench——源端被关闭(基本流控制) | ||
5 | 0 | Redirect for network——对网络重定向 | ||
5 | 1 | Redirect for host——对主机重定向 | ||
5 | 2 | Redirect for TOS and network——对服务类型和网络重定向 | ||
5 | 3 | Redirect for TOS and host——对服务类型和主机重定向 | ||
8 | 0 | Echo request——回显请求(Ping请求) | x | |
9 | 0 | Router advertisement——路由器通告 | ||
10 | 0 | Route solicitation——路由器请求 | ||
11 | 0 | TTL equals 0 during transit——传输期间生存时间为0 | x | |
11 | 1 | TTL equals 0 during reassembly——在数据报组装期间生存时间为0 | x | |
12 | 0 | IP header bad (catchall error)——坏的IP首部(包括各种差错) | x | |
12 | 1 | Required options missing——缺少必需的选项 | x | |
13 | 0 | Timestamp request (obsolete)——时间戳请求(作废不用) | x | |
14 | Timestamp reply (obsolete)——时间戳应答(作废不用) | x | ||
15 | 0 | Information request (obsolete)——信息请求(作废不用) | x | |
16 | 0 | Information reply (obsolete)——信息应答(作废不用) | x | |
17 | 0 | Address mask request——地址掩码请求 | x | |
18 | 0 | Address mask reply——地址掩码应答 | x |
实验四 使用Wireshark分析UDP协议
一、实验目的
分析UDP协议
二、实验环境
与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。
三、实验步骤
UDP是User Datagram Protocol(用户数据协议)的简称,是一种无连接的协议,该协议工作在OSI模型中的第四层(传输层),处于IP协议的上一层。传输层的功能就是建立“端口到端口”的通信,UDP提供面向事务的简单的不可靠信息传送服务。
UDP协议是一种无连接的协议,该协议用来支撑那些需要在计算机之间传输数据的网络应用,包括网络视频会议系统在内的众多客户/服务器模式的网络应用。
UDP协议的主要工作就是将网络数据流量压缩成数据包的形式。一个经典的数据包就是一个二进制数据的传输单位。每一个数据包的前8字节用来包含包头信息,剩余字节则用来包含具体的传输数据。
1、俘获和分析UDP协议
(1)启动Wireshark 分组嗅探器
(2)启动QQ进行聊天
(3)停止分组俘获,输入筛选条件arp,获得arp报文,如图所示
源端口和目的端口:(端口是用来指明数据的来源(应用程序)以及数据发往的目的地(同样是应用程序))字段包含了16比特的UDP协议端口号,它使得多个应用程序可以多路复用同一个传输层协议及UDP协议,仅通过端口号来区分不同的应用程序。
长度(length):字段记录了该UDP数据包的总长度(以字节为单位),包括8字节的UDP头和其后的数据部分。最小值是8(报文头的长度),最大值为65535字节。
UDP校验和(Checksum):的内容超出了UDP数据报文本身的范围,实际上,它的值是通过计算UDP数据报及一个伪包头而得到的。校验和的计算方法与通用的一样,都是累加求和。UDP数据报中实际的有效成分。伪首部并非TCP&UDP数据报中实际的有效成分。伪首部是一个虚拟的数据结构,其中的信息是从数据报所在IP分组头的分组头中提取的,既不向下传送也不向上递交,而仅仅是为计算校验和。这样的校验和,既校验了TCP&UDP用户数据的源端口号和目的端口号以及TCP&UDP用户数据报的数据部分,又检验了IP数据报的源IP地址(数据源设备)和目的地址。伪报头保证TCP&UDP数据单元到达正确的目的地址。
四、问题与思考
在实验的基础上,回答以下问题:
1、在观察DUP首部。长度字段是包括首部和数据还是只包括数据?
UDP首部8字节,如果存在数据,便有数据
实验六 使用Wireshark分析TCP协议
一、实验目的
分析TCP协议
二、实验环境
与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。
三、实验步骤
1、TCP介绍
(1)连接建立:
TCP连接通过称为三次握手的三条报文来建立的。
第一条报文没有数据的TCP报文段,并将首部SYN位设置为1。因此,第一条报文常被称为SYN分组。这个报文段里的序号可以设置成任何值,表示后续报文设定的起始编号。连接不能自动从1开始计数,选择一个随机数开始计数可避免将以前连接的分组错误地解释为当前连接的分组。
SYN分组通常是从客户端发送到服务器。这个报文段请求建立连接。一旦成功建立了连接,服务器进程必须已经在监听SYN分组所指示的IP地址和端口号。如果没有建立连接,SYN分组将不会应答。如果第一个分组丢失,客户端通常会发送若干SYN分组,否则客户端将会停止并报告一个错误给应用程序。
如果服务器进程正在监听并接收到来的连接请求,它将以一个报文段进行相应,这个报文段的SYN位和ACK位都置为1。通常称这个报文段为SYNACK分组。SYNACK分组在确认收到SYN分组的同时发出一个初始的数据流序号给客户端。
TCP接收端确认第X个字节已经收到,并通过设置确认号为X+1来表明期望收到下一个字节号。分组4的序号字段在Wireshark的协议显示为0,但在原始框中的实际值却是“84 ca be b3”。这表明TCP连接的双方会选择数据流中字节的起始编号。所有初始序号逻辑上都视同为序号0。
最后,客户端发送带有标志ACK的TCP报文段,而不是带SYN的报文段来完成三次握手的过程。这个报文段将确认服务器发送的SYNACK分组,并检查TCP连接的两端是否正确打开合运行。
(2)关闭连接
当两端交换带有FIN标志的TCP报文段并且每一端都确认另一端发送的FIN包时,TCP连接将会关闭。FIN位字面上的意思是连接一方再也没有更多新的数据发送。然而,那些重传的数据会被传送,直到接收端确认所有的信息。
2、具体步骤
(1)启动Wireshark 分组嗅探器
(2)在浏览器地址栏中输入如下网址:
http://www.1688.com/阿里巴巴
(3)停止分组俘获,输入过滤条件tcp and ip.addr==14.29.40.234,获得TCP三次握手的报文,如下图所示
源端口号:49363
目的端口号:80
Sequence Number:发送序列号
Acknowledgment Number:确认序列号
Flags: SYN-同步序列号
Window size value:窗口大小
Checksum:检验和
Urgent potiner:紧急指针
(4)分析三次握手
- 三次握手的原理
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
四、问题与思考
在实验的基础上,回答以下问题:
1、 客户服务器之间用于初始化TCP连接的TCP SYN报文段的序号(sequence number)是多少?在该报文段中,是用什么来标识该报文段是SYN报文段的?
SYN报文段的序号
SYN报文段的标识
2、 服务器向客户端发送的SYNACK报文段序号是多少?该报文段中,ACKnowledgement字段的值是多少?
SYNACK报文段序号:
ACKnowledgement字段的值:
实验七 利用Wireshark分析协议HTTP
一、实验目的
分析HTTP协议
二、实验环境
与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。
三、实验步骤
1、利用Wireshark俘获HTTP分组
(1)在进行跟踪之前,我们首先清空Web 浏览器的高速缓存来确保Web网页是从网络中获取的,而不是从高速缓冲中取得的。之后,还要在客户端清空DNS高速缓存,来确保Web服务器域名到IP地址的映射是从网络中请求。在WindowsXP机器上,可在命令提示行输入ipconfig/flushdns完成操作。
(2)启动Wireshrk 分组俘获器。
(3)在Web 浏览器中输入:http://www.1688.com
(4)停止分组俘获,输入过滤条件http and ip.addr==14.29.40.234
当输入URLhttp://www.1688.com时,将要求Web服务器从主机http://www.1688.com上请求数据,但首先Web浏览器必须确定这个主机的IP地址。随着转换的完成,Web浏览器与Web服务器建立一个TCP连接。最后,Web 浏览器使用已建立好的TCP连接来发送请求“GET/HTTP/1.1”。这个分组描述了要求的行为(“GET”)及文件(只写“/”是因为我们没有指定额外的文件名),还有所用到的协议的版本(“HTTP/1.1”)。
2、HTTP GET/response交互
(1)在协议框中,选择“GET/HTTP/1.1” 所在的分组会看到这个基本请求行后跟随着一系列额外的请求首部。在首部后的“\\r\\n”表示一个回车和换行,以此将该首部与下一个首部隔开。
“Host”首部在HTTP1.1版本中是必须的,它描述了URL中机器的域名,本例中是http://www.1688.com。这就允许了一个Web服务器在同一时间支持许多不同的域名。有了这个数不,Web服务器就可以区别客户试图连接哪一个Web服务器,并对每个客户响应不同的内容,这就是HTTP1.0到1.1版本的主要变化。
User-Agent首部描述了提出请求的Web浏览器及客户机器。
接下来是一系列的Accpet首部,包括Accept(接受)、Accept-Language(接受语言)、Accept-Encoding(接受编码)、Accept-Charset(接受字符集)。它们告诉Web服务器客户Web浏览器准备处理的数据类型。Web服务器可以将数据转变为不同的语言和格式。这些首部表明了客户的能力和偏好。
Keep-Alive及Connection首部描述了有关TCP连接的信息,通过此连接发送HTTP请求和响应。它表明在发送请求之后连接是否保持活动状态及保持多久。大多数HTTP1.1连接是持久的(persistent),意思是在每次请求后不关闭TCP连接,而是保持该连接以接受从同一台服务器发来的多个请求。
(2)我们已经察看了由Web浏览器发送的请求,现在我们来观察Web服务器的回答。响应首先发送“HTTP/1.1 200 ok”,指明它开始使用HTTP1.1版本来发送网页。同样,在响应分组中,它后面也跟随着一些首部。最后,被请求的实际数据被发送。
第一个Cache-control首部,用于描述是否将数据的副本存储或高速缓存起来,以便将来引用。一般个人的Web浏览器会高速缓存一些本机最近访问过的网页,随后对同一页面再次进行访问时,如果该网页仍存储于高速缓存中,则不再向服务器请求数据。类似地,在同一个网络中的计算机可以共享一些存在高速缓存中的页面,防止多个用户通过到其他网路的低速网路连接从网上获取相同的数据。这样的高速缓存被称为代理高速缓存(proxy cache)。在我们所俘获的分组中我们看到“Cache-control”首部值是“private”的。这表明服务器已经对这个用户产生了一个个性化的响应,而且可以被存储在本地的高速缓存中,但不是共享的高速缓存代理。
在HTTP请求中,Web服务器列出内容类型及可接受的内容编码。此例中Web服务器选择发送内容的类型是text/html且内容编码是gzip。这表明数据部分是压缩了的HTML。
服务器描述了一些关于自身的信息。此例中,Web服务器软件是Google自己的Web服务器软件。响应分组还用Content-Length首部描述了数据的长度。最后,服务器还在Date首部中列出了数据发送的日期和时间。
根据俘获窗口内容,回答“四、实验报告内容”中的1-6题。
3、HTTP条件GET/response交互
(1)启动浏览器,清空浏览器的缓存。
(2)启动Wireshark分组俘获器,开始Wireshark分组俘获。
(3)在浏览器地址栏中如下网址:
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file2.html
你的浏览器中将显示一个具有五行的非常简单的HTML文件。
(4)在你的浏览器中重新输入相同的URL或单击浏览器中的“刷新”按钮。
(5)停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
根据操作回答“四、实验报告内容”中的7-10题。
4、获取长文件
(1)启动浏览器,将浏览器的缓存清空。
(2)启动Wireshark 分组俘获器,开始Wireshark分组俘获。
(3)在浏览器地址栏中输入如下网址:
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file3.html
浏览器将显示一个相当大的美国权力法案
(4)停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
根据操作回答“四、实验报告内容”中的11-14题。
5、嵌有对象的HTML文档
(1)启动浏览器,将浏览器的缓存清空。
(2)启动Wireshark分组俘获器。开始Wireshark分组俘获。
(3)在浏览器地址栏中输入如下网址:
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html
浏览器将显示一个具有两个图片的短HTTP文件。
(4)停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
根据操作回答“四、实验报告内容”中的15-16题。
6、HTTP认证
(1)启动浏览器,将浏览器的缓存清空。
(2)启动Wireshark分组俘获器。开始Wireshark分组俘获。
(3)在浏览器地址栏中输入如下网址:
http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-file5.html
浏览器将显示一个HTTP文件,输入所需要的用户名和密码(用户名:wireshark-students,密码:network)。
(4)停止Wireshark分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
根据操作回答“四、问题与思考”中的17-18题。
四、问题与思考
在实验的基础上,回答以下问题:
(1)你的浏览器运行的是HTTP1.0,还是HTTP1.1?你所访问的服务器所运行的HTTP版本号是多少?
(2)你的浏览器向服务器指出它能接收何种语言版本的对象?
(3)你的计算机的IP地址是多少?服务器http://www.1688.com的IP地址是多少?
计算机的IP:
服务器的IP:
(4)从服务器向你的浏览器返回的状态代码是多少?
(5)你从服务器上所获取的HTML文件的最后修改时间是多少?
(6)返回到你的浏览器的内容以供多少字节?
(7)分析你的浏览器向服务器发出的第一个HTTP GET请求的内容,在该请求报文中,是否有一行是:IF-MODIFIED-SINCE?
答:没有
(8)分析服务器响应报文的内容,服务器是否明确返回了文件的内容?如何获知?
(9)分析你的浏览器向服务器发出的第二个“HTTP GET”请求,在该请求报文中是否有一行是:IF-MODIFIED-SINCE?如果有,在该首部行后面跟着的信息是什么?
答:没有
(10)服务器对第二个HTTP GET请求的响应中的HTTP状态代码是多少?服务器是否明确返回了文件的内容?请解释。
(11)你的浏览器一共发出了多少个HTTP GET请求?
3个
(12)承载这一个HTTP响应报文一共需要多少个data-containing TCP报文段?
答:2个
(13)与这个HTTP GET请求相对应的响应报文的状态代码和状态短语是什么?
(14)在被传送的数据中一共有多少个HTTP状态行与TCP-induced”continuation”有关?
一共有两个HTTP状态行与TCP-included“continuation”有关
(15)你的浏览器一共发出了多少个HTTP GET请求?这些请求被发送到的目的地的IP地址是多少?
一共发出1个,124.119.245.12
(16)浏览器在下载这两个图片时,是串行下载还是并行下载?请解释。
并行下载,因为GET的目的IP地址不同,所以可以从两个地址同时进行下载,所以是并行下载。
(17)对于浏览器发出的最初的HTTP GET请求,服务器的响应是什么(状态代码和状态短语)?
401;Unauthorized;
(18)当浏览器发出第二个HTTP GET请求时,在HTTP GET报文中包含了哪些新的字段?
多了Authorization字段;
实验八 利用Wireshark分析DNS协议
一、实验目的
分析DNS协议
二、实验环境
与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。
三、实验步骤
nslookup工具允许运行该工具的主机向指定的DNS服务器查询某个DNS记录。如果没有指明DNS服务器,nslookup将把查询请求发向默认的DNS服务器。其命令的一般格式是:
nslookup –option1 –option2 host-to-find dns-server
1、打开命令提示符(Command Prompt),输入nslookup命令。
图中显示三条命令,第一条命令:nslookup www.mit.edu “提出一个问题”
即:“将主机www.mit.edu 的IP地址告诉我”。屏幕上出现了两条信息:(1)“回答这一问题”DNS服务器的名字和IP地址;(2)www.mit.edu 主机名字和IP地址。
第二条命令:nslookup –type=NS mit.edu
在这个例子中,我们提供了选项“-type=NS”,域为mit.edu。执行这条命令后,屏幕上显示了DNS服务器的名字和地址。接着下面是三个MIT DNS服务器,
每一个服务器是MIT校园里权威的DNS服务器。
第三条命令:nslookup www.aiit.or.kr bitsy.mit.edu
在这个例子中,我们请求返回bitsy.mit.edu DNS server 而不是默认的DNS服务器(uzzdns.edu.cn)。此例中,DNS 服务器bitsy.mit.edu提供主机www.aiit.or.kr 的
IP地址。
2、ipconfig
ipconfig用来显示TCP/IP 信息, 你的主机地址、DNS服务器地址,适配器等信息。如果你想看到所有关于你所在主机的信息,可在命令行键入:
ipconfig /all
ipconfig在管理主机所储存的DNS信息非常有用。
如果查看DNS缓存中的记录用命令:ipconfig /displaydns
要清空DNS缓存,用命令:ipconfig /flushdns
3、利用Wireshark捕获DNS信息
(1)利用ipconfig命令清空你的主机上的DNS缓存。
(2)启动浏览器,将浏览器的缓存清空。
(3)启动Wireshark分组俘获器,在显示过滤筛说明处输入
“ip.addr==202.168.176.234”,过滤器(filter)将会删除所有目的地址和源地址都与指定IP地址不同的分组。
(4)开始Wireshark俘获。
(5)在浏览器的地址栏中输入:http://www.1688.com
(6)停止分组俘获。
(7)重复上面的实验,只是将命令替换为:nslookup –type=NS mit.edu
(8)重复上面的实验,只是将命令替换为:
nslookup www.1688.com bitsy.mit.edu
四、问题与思考
在实验的基础上,回答以下问题:
(1)你的浏览器运行的是HTTP1.0,还是HTTP1.1?你所访问的服务器所运行的HTTP版本号是多少?
(2)你的浏览器向服务器指出它能接收何种语言版本的对象?
(3)你的计算机的IP地址是多少?服务器www.1688.com的IP地址是多少?
计算机的IP:
服务器的IP:
(4)从服务器向你的浏览器返回的状态代码是多少?
(5)你从服务器上所获取的HTML文件的最后修改时间是多少?
(6)返回到你的浏览器的内容以供多少字节?
(7)分析服务器响应报文的内容,服务器是否明确返回了文件的内容?如何获知?
(8)服务器对第二个HTTP GET请求的响应中的HTTP状态代码是多少?服务器是否明确返回了文件的内容?请解释。
服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。此代码与响应GET或HEAD请求的301代码类似,会自动将请求者转到不同的位置,但您不应使用此代码来告诉Googlebot某个网页或网站已经移动,因为Googlebot会继续抓取原有位置并编入索引。
(9)与这个HTTP GET请求相对应的响应报文的状态代码和状态短语是什么?
如有不足之处,还望指正 1。
如果对您有帮助可以点赞、收藏、关注,将会是我最大的动力 ↩︎
以上是关于WireShark抓取ARP协议的主要内容,如果未能解决你的问题,请参考以下文章
从零开始学安全(四十二)●利用Wireshark分析ARP协议数据包