用Wireshark抓取arp、snmp、icmp、dhcp等报文的方法_第1页
用Wireshark抓取arp、snmp、icmp、dhcp等报文的方法_第2页
用Wireshark抓取arp、snmp、icmp、dhcp等报文的方法_第3页
用Wireshark抓取arp、snmp、icmp、dhcp等报文的方法_第4页
用Wireshark抓取arp、snmp、icmp、dhcp等报文的方法_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.ARP 基础知识学习1.1.ARP 协议的概念ARP ,即地址解析协议,实现通过IP得知其物理地址。在CP/IP网络环境下,每个主机分配了一个32位的IP地址,这种互联网地址是在网际范围表示主机的一种逻辑地址。为了让报文在物理线路上的传输,必须知道对方目的主机的物理地址。这样就存在把IP地址变成物理地址的转换问题。一以太网环境为例,为了正确的向目的主机传送报文,就必须将主机的32位IP地址转换成48位的以太网的地址。这就需要在互联层有一组服务将IP地址转换成物理地址,这组协议就是ARP协议。1.2 ARP 协议实现的基本功能 在以太网协议中,同一局域网中的一台主机要和另一台主机进行直接通信

2、,必须知道目标主机的MAC地址。而在TCP/IP协议栈中,网络层和传输层只关心目标主机的IP地址。这就导致再以太网中使用IP协议时,数据链路层的以太网协议连接到上层IP协议提供的数据中,只包含目的的IP地址。于是需要一种方法,更具目的主机的IP的地址,获取其MAC地址。这就是ARP协议要做的事。所谓地址解析(address resolution)就是主机再发送阵前将目标地址转换成目标MAC地址的过程。 另外,当发送主机和目标及不在同一个局域网时,即便知道目的主机的MAC地址,两者也不能直接通信,必须有路由转发才行。所以此时,发送主机通过ARP协议获得的将不是目的主机的真实MAC地址,而是一台可

3、以通往局域网外地路由器的某个端口的MAC地址。于是此后发送主机发送目的和主机的所有帧,都将发往该路由,通过他向外发送。这种情况成为ARP代理(ARP Proxy).1.3 工作的原理 每台装有TCP/IP协议的电脑里都有一个ARP缓存表,表里IP与MAC地址是一一对应的。例如,主机A ()主机B()发送数据.当发送数据时,主机A 会在自己的ARP缓存表中查找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接将目标MAC地址写进帧里发送就可以了;如果缓存表中没有找到目标IP地址,主机A就会在网络上发送一个广播,主机地址就是“主机的MAC地址

4、”,”,这表示向同一网段内的所有主机发出这样的询问:“我是,我的硬件地址是"主机A的MAC地址".请问IP地址为的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“的MAC地址是00-aa-00-62-c6-09”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时A和B还同时都更新了自己的ARP缓存表(因为A在询问的时候把自己的IP和MAC地址一起告诉了B),下次A再向主机B或者B向A发送信息时,直接从各自的ARP缓存表里查找就

5、可以了。ARP缓存表采用了老化机制(即设置了生存时间TTL),在一段时间内(一般15到20分钟)如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询。1.4抓包并分析报文1.4.1抓包环境搭建方法:用一根网线连接两台主机,不妨记做主机A 、主机B。主机A 向主机B通信。操作步骤如下:1.测试环境,用一根网线将主机A 、主机B连接起来,并进行ping操作(ping 对方的IP),直到ping 同为止。2.打开主机B的“本地连接状态”,查看IP地址,也可以在主机B上进行ipconfig/all操作,得到IP。3在主机A 上进行 arp -d操作,目的是清空ARP缓存表

6、。4.在主机A 上进行 arp a操作,目的是查看ARP缓存表的内容是否被清空。5.在主机A 上打开抓包软件Wireshark,并正确配置网管。6在主机A 上ping 主机B的IP地址。7.过滤报文,并进行分析。1.4.2 报文分析如下所示,图1.1是具体的操作命令,图1.2是主机A 向网络发出的请求报文,图1.3是主机B向主机A 发出的响应报文。、从图1.2 可以看出,源MAC地址为:44:37:e6:46:e7:98,源IP地址为1;目的MAC 为:00:00:00:00:00:00,目的IP为2。其中源是指主机A ,目的是指B主机。从图1.3可以看出,

7、源MAC地址为:f4:6d:04:c1:0b:de,源IP为:2;目的MAC地址为:44:37:e6:46:e7:98,目的IP为:1。其中,源是指主机B ,目的是指主机A 。从图1.3可以看出, 图1.1 图1.2图1.32. DHCP的相关学习2.1.DHCP的基础概念DHCP (Dynamic Host Configuration Protolo)是一个局域网协议,使用UDP 协议工作,主要有两个用途:给内部网络或网络服务商自动分配IP地址给用户和给内部网络管理员作为对所有计算机做中央管理的手段。2.2 DHCP 结构介绍 DHCP是动态主机配置协议,

8、他的前身是BOOTP。网络主机使用BOOT POM 而不是磁盘启动,BOOTP则可以自动地为那些主机设定TCP/IP环境。但BOOTP 的缺点是,在设定前必须获得客户端的硬件地址,而且,与IP是相对静止的。换言之,BOOTP缺乏“动态性”,而DHCP可以说是BOOTP的增强版本,它分为两部分:一个是服务器端,一个是客户端。所有的IP网络设定数据都由DHCP服务器集中管理,并负责处理客户的DHCP要求;而客户端则会服从服务器分配下来的IP环境数据。比较BOOTP ,DHCP通过“租约”的概念,有效且动态的分配TCP/IP设定,而且,作为兼容考虑,DHCP完全照顾了BOOTP Client的需求。

9、DHCP的分配形式,首先,必须至少一台DHCP工作在网络上面,他会监听网络的DHCP请求,并与客户端磋商TCP/IP的设定环境。2.3地址分配IP地址分配方式主要有3中,即手动分配(Manual Allocation)、自动分配(Automatic Allocation)和动态分配(Dynamic Allocation)。手动分配是指,网络管理员为某些少数特定的Host绑定固定IP地址,且地址不会过期。自动分配是指,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址之后,就永远使用这个地址。动态分配是指,当DHCOP客户端第一次从DHCP服务器租到IP后,就永久使用该地址,只要租约到

10、期,就释放(release)这个IP地址。2.4工作原理客户端 DHCP服务器下图是首次登陆时,DHCP工作过程。 DHCP dscoverDHCP offerDHCP requestDHCP ACKDHCP discover:功能是:寻找DHCP服务器。具体过程如下: 当DHCP客户端第一次登录网络的时候,客户发现本机上没有任何IP数据设定,他会向网络发出一个DHCP DISCOVER 封包。因为客户端还不知道自己属于哪一个网络,所以封包的来源地址会为,而目的地址则为55,然后再附上DHCP discover 的信息,向网络进行广播。在Linux下,D

11、HCP dscover的等待时间设为4秒,也就是,当客户端将第一个DHCP Discover 封包发送出去后,在4秒内没有得到响应的话,将执行第二次DHCP discover广播。如果一直得不到响应的情况下,再执行第三次、第四次,一共只能执行4次,他们的等待时间一次为4秒、8秒、16秒、32秒,最大到64,秒,此时,客户端认为服务器不可达。之后,客户端再等待一段时间(Linux下通常为5m)重新尝试。DHCP offer:功能是:提供IP租约。具体过程如下: 当DHCP 服务器监听到客户端发出的DHCP discover广播后,它会从那些还没有租出去的地址范围内,选择最前面的空值IP,其他的T

12、CP/IP设定,响应给客户端一个DHCP OFFER封包。由于客户端在开始的时候还没有 IP 地址,所以在其DHCP discover 封包内会带有其MAC地址信息,DHCP服务器相应的DHCP offer 封包会根据这些资料传递给要求租约的客户。根据服务器端的设定,DHCP offer封包会包含一个租约期限的信息。DHCP request:功能是:接受IP租约。其具体过程如下: 如果客户端收到网络上多台DHCP服务器的响应,会挑选其中一个DHCP offer(通常是最先抵达的那个),并且向网络中发送一DHCP request广播封包,告诉所有的DHCP服务器它将指定接受哪一台服务器提供的IP

13、地址。同时,客户端还会向网络发送一个ARP封包,查询网络上面有没有其他机器使用该IP地址;如果发现该IP已被占用,客户端则会发出一个DHCPDECLIENT封包该DHCP服务器,拒绝接受其DHCP offer,并重新发送DHCP discover信息。客户端也可以发送DHCP request向服务器提出DHCP选择。问题:DHCP服务器提供给客户端的IP都是没有被租出去的,为什么客户端会发现地址冲突呢?DHCP ACK功能是:确认租约。其具体过程如下:当DHCP服务器收到客户端的DHCP resqust 之后,会向客户端发送一个DHCPACK响应,确认租约的正式生效,也就结束了一个完整的DHC

14、P 工作过程。DHCP发送流程第一次登陆之后:一旦DHCP 客户端成功的从服务器那里获取DHCP 租约之后,除非其租约已经失效并且IP地址也重新设定回 ,否则就无需发送DHCP discover 信息了,而会直接使用已经租用到的IP地址向之前的DHCP 服务器发出DHCP request 信息。DHCP 服务器会尽量让客户端使用原来的IP 地址,如果没有问题的话,直接响应DHCPARK来确认即可。如果地址已经无效或已被其他机器使用了,服务器则会相应一个DHCPNARK封包给客户端,要求其重新执行DHCP discover 。至于IP 的租约期限是非常讲究的,在开机时候发出DHCP

15、 requst请求之外,在租约期限一半时也会发出,如果此时得不到DHCP服务器的确认的话,客户端还是可以继续用的,但当租约期限过了87.5%的时候,还是无法与当初的DHCP服务器联系不上,他将和其他的DHCP 服务器通信,如果此时没有其他的服务器的话,客户端必须停止使用该IP,并发送一个DHCP discover封包开始。抓包并分析抓包步骤:1. 打开Wireshark,选择正确的网关;2. ipconfig/all命令操作,查看本机的IP地址、子网掩码、默认网关、DHCP 服务器等;3. ipconfig/release命令操作,释放本机的Ip地址和子网掩码;4. 对抓的包进行过滤;5. 分

16、析报文。报文分析:如图2.2是DHCP release封包,户端端给DHCP服务器的。包括的信息有:客户端MAC 地址:44:37:e6:46:e7:98,客户端IP 地址:5,DHCP服务器MAC :00:90:fb:2e:88:85,DHCP服务器的IP:5。如图2.3是DHCP discover封包,户端端给DHCP服务器的,其目的是,寻找DHCP service。包括的信息有:客户端MAC地址:44:37:e6:46:e7:98,客户端IP 地址:;DHCP 服务器MAC :ff:fff:ff:ff:ff:ff, DHCP 服务器IP地

17、址:255:255:255:255。由此可以判断,这是一个广播包。图2.4是DHCP offer 封包,是DHCP服务器发给客户端的。其目的是,提供IP。包括的信息有:DHCP 服务器的MAC:00:90:fb:2e:88:85,DHCP服务器的IP:5;客户端MAC 地址:44:37:e6:46:e7:98,提供给客户端的 IP地址是:5,但实际上这时端的IP任然为:。除此之外,DHCP offer 封包里面还包含了IP租约期限(30 minutes)。图2.5是DHCP request 封包,是客户端发给DHCP 服务器的。其目的是,接受I

18、P 。包括的信息有:客户端的IP: , 客户端MAC是:44:37:e6:46:e7:98;DHCP服务器的MAC: ff.ff.ff.ff.ff.ff ,DHCP服务器的IP:。可以判断这是一个广播包。图2.6是DHCP ACK 封包,是DHCP服务器发给客户端的。其目的是,确认租约。包括的信息有:DHCP服务器的MAC:00:90:fb:2e:88:85,DHCP服务器的IP:5;客户端MAC 地址:44:37:e6:46:e7:98,客户端的 IP地址是:5。图2.1图2.2图2.3图2.4图2.5图2.63.ICPM协议的

19、简单介绍3.1 ICMP 协议的简单介绍 ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。ICMP 是一个:“错误侦测与回报机制”其目的就是让我们能够监测网路的连接状况,也能确保连线的准确性。其功能有:侦测远端主机是否存在、建立及维护路由资料、重导路由传输路径、资料流量控制。ICMP 在沟通中透过不同的类别(Type)与

20、代码(code)让机器来辨别不同的连线状况。ICMP 协议对网络安全有重要的意义。ICMP 本身的特点决定了它非常容易用于攻击网络上的路由器和主机。比如,可以利用操作系统规定的数据包最大尺寸不超过64KB这一规定,向主机发起“Ping of Death”(死亡之Ping )攻击。“Ping of Death”攻击原理是:如果数据包的尺寸超过了64KB上限时,主机就会出现内存分配错误,导致TCP/IP堆栈崩溃,导致主机死机。(现在操作系统已经取消了发送ICMP数据包的大小的限制,解决了这个漏洞)此外,向目标主机长时间、连续、大量地发送ICMP数据包时,也会最终使系统瘫痪。大量的ICMP数据包会形

21、成“ICMP风暴”,市的目标主机耗费大量的CPU资源处理,疲于奔命。3.2 ICMP消息类型的过滤规则Echo Request 和Reply (类型8和0) 允许Ecto Request 消息出战以便于内部用户能够PING 一个远程主机。阻止入站Ecto Request和出战Echo Reply可以防止外部网络的主机对内部网络进行扫描。如果您使用了位于外部网络的监视器来监视内部网络,就应该只允许来自特定外部IP的Echo Request 进入您的网络。限制ICMP Echo包的大小可以组织“Ping Floods”的攻击,并且可以阻止那些利用Echo Request 和Reply来“偷运”数据

22、通过防火墙的木马程序。Dastination unreachable (类型3)允许其入站以便于内部网络可以使用traceroute。需要注意的是,有些攻击者可以使用它来进行针对绘画的DoS攻击,如果您曾经经历过类似的攻击,也可以阻止它。组追出站的ICMP Dastination unreachable 消息,因为它可能会泄露内部网络的结构。不过有一个例外,对于那些允许外部网络通过TCP访问的内部主机(如位于DMZ区的Web服务器)发出来的Dastnation unreachable,应该允许他通过。为了能够支持“Path MTU Discovery”,您应该允许出站的“Packet Too

23、Big”消息(类型3,代码4)到达那些主机。 Source quench (类型 4) 阻止其入站,因为他可以作为一种DoS攻击,能够降低发送者的发送速度。允许其出站以便于内部主机能够控制发送端发出数据的速度。有些防火墙会回略所有直接发送到防火墙端口的Source Quench消息,以防止针对于防火墙的DoS攻击。Reddirect (类型5,9,10):Redirect(重定向)、Router announcement、 Router selection(类型5,9,10):这些消息存在潜在危险,因为它们可以用来把数据重定向到攻击者的机器。这些消息应该被阻止。TTL exceeded (类型

24、11): 允许其进站以便于内部用户可以使用traceroute。“firewalking”使用很低的TTL值来对网络进行扫描,甚至可以通过防火墙对内部网络进行扫描,所以就应该禁止其出站。一些防火墙可以阻止TTL值小于设定值的数据包进入防火墙。Parameter problem (类型12) 禁止其进站和出站。通常使用一个能用数据包一致性检查的防火墙,错误和恶意的数据包都会被阻塞。3.3 Ping 和traceroutePing 和traceroute 命令都依赖于ICMP。ICMP也可以看做是IP协议的伴随协议。ICMP报文被封装在IP数据报发送。一些ICMP报文会请求信息。如:在ping 中

25、,一个ICMP回应请求报文会发给远程主机。如果对方主机存在,期望它们返回一个ICMP回应应答报文。一些ICMP在网络层发生错误时发送。例如,有一种ICMP报文类型表示目的不可达。造成不可达的原因很多,ICMP报文确定这一问题。如,可能是主机关闭或整个网络连接断开。有时候,主机本身可能没有问题,但不能发送数据报。例如IP首部有个协议字段,它指明了什么协议应该处理IP 数据包中的数据部分。IANA公布了代表协议的数字的列表。例如,如果字段是6,代表TCP报文段,IP层会把数据发给TCP层进行处理;如果字段为1,则代表ICMP报文,IP层会将数据传给IMCP处理。如果操作系统不支持到达数据包中协议字

26、段的协议号,它将返回一个指明“协议不可达”的ICMP报文。Traceroute是基于ICMP灵活用法和IP首部的生存时间字段的。发送数据报时生存时间字段被初始化为能够穿越网络的最大跳数。每经过一个中间点,该数据字减1。生存时间字段用于避免数据在网络上无休止的传输下去。数据包的发送路径是由中间路由器决定的。通过与其他路由器交换信息,路由器决定数据包的下一条路径。最好的“下 一跳”经常由于网络环境的变化而动态改变。这可能导致路由器形成选路循环也会导致正确路径冲突。在路由循环中,这种情况时可能发生的。例如,路由器A 认为数据报应该发送到路由器B,而路由器B又认为数据报应该发送给路由器A,这时数据报便

27、处于循环选路中。生存时间字段长为8位,所以因特网路径的最大长度为28-1即255跳。大多数源主机将该值初始化为更小的值。将生存时间设置过小可能会使数据报不能达到远程目的主机,而设置过大有可能导致处于无限循环的选路中。因为在分组交换网络中发送每个数据包时是独立的,所以有traceroute发送的每个数据报的路径实际上相同。每个数据包沿着一条路径对中间节点进行取样,因为traceroute可能暗示一条主机间并不存在的连接。因特网路径经常变动。在不同的日子或一天的不同时间对同一个主机执行几次traceroute命令来探寻这种变化都会得到不同的结果。 为了体现Internet路由的有限可见性,许多网路

28、都维护了一个traceroute服务器。Traceroute服务器将显示出从本地网到一个特定目的地执行traceroute的结果。3.3.1 ping 和ICMP 1、 打开Windows命令提示符窗口。2、 启动Wireshark协议分析软件,在过滤窗口上输入“icmp”,开始Wireshark分组俘获。3、 输入“ping ”。4、 当ping程序停止时,停止俘获。上述步骤完成后,出现下列命令窗口:图3.1 命令窗口停止俘获后,出现如图3.2所示的界面:图3.2 :停止俘获后Wireshark的界面从图上可以得到,这是一个ICMP回应请求报文,本机IP的地址是5,目的主机

29、的IP是5。ICMP的type 和code分别是8和0。停止俘获后,出现如图3.3所示的界面:图3.3 :停止俘获后Wireshark的界面从图上可以看出,这是一个ICMP回应应答报文,源主机的IP是5,目的主机的IP时5,ICMP的type和code 都是0 。3.3.2 Traceroute 和ICMP 1、打开Windows命令提示符窗口。2、 启动Wireshark协议分析软件,在过滤窗口上输入“icmp”,开始Wireshark分组俘获。3、 输入“tracert ”。4、 当程序停止时,停止俘获。上述步骤完成后,出现下列命令窗口: 图3.4 命令窗口图3.4 停止俘获后Wireshark界面4. HTTP 协议的简单介绍HTTP (Hyper Text Transfer Protocol),即超文本传输协议,是互联网上应用最为广泛的一种网络协议。所有的www都遵循这个协议。一次HTTP操作成为一个事务,其工作过程可以分为四步:首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作就开始了。建立连接回购,客户机发送一个请求给服务器,请求方式的格式为:统一资源标示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论