利用WIRESHARK捕获了一个ARP数据报文,其十六进代码表示为:000108000604000
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用WIRESHARK捕获了一个ARP数据报文,其十六进代码表示为:000108000604000相关的知识,希望对你有一定的参考价值。
利用WIRESHARK捕获了一个ARP数据报文,其十六进代码表示为:0001080006040002
0819a69d8a36ac10fa0120c9d0b699a1ac10fa37,请将该数据报文的内
容解码后填入对应的表格栏目中,并回答问题。(10*5分)
表1:ARP数据包解码表
硬件类型:协议类型:
硬件地址长度:
协议地址长度:操作:
源主机MAC地址:
源主机IP地址:
目标主机MAC地址:
目标主机IP地址:
这是一个什么类型的ARP报文?_________________________
注:要求填写对应的二进制或十六进制编码,并转换成通用表示形式或对应的含义
硬件类型:00 01 (1以太网)
协议类型:08 00 (ARP)
硬件地址长度:06
协议地址长度:04
操作:00 02 (ARP响应)(ARP请求是00 01)
源MAC:08 19 a6 9d 8a 36(08:19:A6:9D:8A:36)
源IP:ac 10 fa 01 (172.16.250.1)
目的MAC:20 c9 d0 b6 99 a1 (20:C9:D0:B6:99:A1)
目的IP:ac 10 fa 37 (172.16.250.55)
ARP响应报文
如下所示为一个ARP请求包
0000 ff ff ff ff ff ff 00 0c f1 d4 d9 60 08 06 00 01 ...........`....
0010 08 00 06 04 00 01 00 0c f1 d4 d9 60 c0 a8 01 0f ...........`....
0020 00 00 00 00 00 00 c0 a8 01 02 ..........
根据定义,头6个字节是以太网目的地址 ff ff ff ff ff ff 这是一个广播地址,全网下的所有终端都能接收到,紧跟着的6个字节是以太网源地址,即发送者的MAC地址( 00 0c f1 d4 d9 60 是我的MAC地址)。
帧类型0806占两个字节,到这里以太网帧头就结束了。0806指的是后面的数据是属于arp包的。
接着分析ARP包头。头两个字节是硬件类型00 01,接着两个字节是协议类型,即ARP使用的是IP协议代号08 00。硬件地址长度和协议地址长度分别是6和4。这与ARP报文格式是对应的。后面的2个字节OP指示当前包是请求包还是应答包,对应的值分别是0x0001和0x0002。原始数据里是00 01所以这是一个请求包,然后6个字节又是发送者MAC地址00 0c f1 d4 d9 60 ,后面4个字节是发送者IP地址c0 a8 01 0f ,转换成点分十进制格式即192.168.1.15,这是我的IP,接下来的6个字节留空,00 00 00 00 00 00 在arp请求包里也可以是其他数据,因为稍后IP地址为c0 a8 01 02 (192.168.1.2)会把自己的MAC地址填充进这6个字节中。
填充完后,arp包里的发送者硬件地址|目标硬件地址和以太网首部的以太网目的地址|以太网源地址正好对调。最后把这个封装好的ARP包发送出去,这样一个来回就可以让两台终端互相知道对方的IP和MAC。
ubuntu wireshark 无法捕获 dhcp 怎么解决啊?
ubuntu wireshark 无法捕获 dhcp 的可能原因有以下几种:
网卡没有设置为混杂模式,导致无法接收广播数据包。可以通过命令 sudo ifconfig eth0 promisc 来开启混杂模式,其中 eth0 是网卡的名称,可能需要根据实际情况修改。
网络环境中有交换机或路由器,导致数据包被过滤或转发。可以尝试在同一网段的其他设备上抓包,或者使用交换机的镜像端口来复制数据包。
过滤条件不正确,导致无法显示 dhcp 数据包。可以在 wireshark 的过滤栏输入 bootp ,使其只显示 dhcp 数据包。
使用sudo命令启动Wireshark,即在终端中输入sudo wireshark,然后输入密码进行身份验证。
检查您是否在“wireshark”组中,可以在终端中输入groups命令检查。如果没有,请使用以下命令将您的用户名添加到该组中:sudo usermod -aG wireshark your_username
确认您的网络接口设备已经正确配置。您可以通过ifconfig命令检查您的网络接口设备。
确认Wireshark是否已经正确配置。在Wireshark中,选择“Edit”菜单中的“Preferences”,在“Protocols”下拉菜单中选择“DHCP”,确认“Enable DHCP packet option decoding”选项已被选中。
如果您仍然无法捕获DHCP数据包,请尝试使用tcpdump命令来捕获数据包并检查是否可以捕获DHCP数据包。如果tcpdump也无法捕获DHCP数据包,则可能存在其他网络配置问题,您需要检查网络配置以解决问题。 参考技术B
以下是一些可能的解决方法:
以管理员权限运行 Wireshark:在 Ubuntu 上,您需要以 root 用户或 sudo 权限运行 Wireshark 才能捕获 DHCP 流量。请尝试在终端中使用 sudo 命令运行 Wireshark。
Copy codesudo wireshark确认 Wireshark 是否安装了 dhcpdump:Wireshark 需要 dhcpdump 工具才能捕获和分析 DHCP 数据包。请确认已安装 dhcpdump。
csharpCopy codesudo apt-get install dhcpdump确认 Wireshark 是否在捕获 DHCP 流量的网络接口上运行:请确保 Wireshark 在正确的网络接口上运行,以便捕获 DHCP 流量。可以在 Wireshark 中选择正确的网络接口,并使用过滤器捕获 DHCP 流量。例如,使用以下过滤器:
pythonCopy codebootp.option.type == 53如果以上解决方法都不起作用,您可能需要更深入地调查问题。您可以尝试使用其他抓包工具,如 tcpdump,或者在 Wireshark 中尝试其他过滤器和设置。
Regenerate response
权限问题:Wireshark需要以root权限运行,否则无法捕获一些协议,包括DHCP。您可以使用以下命令以root权限运行Wireshark:sudo wireshark
网络接口配置问题:Wireshark无法从某些网络接口中捕获DHCP协议,如果您使用的是虚拟机或者VPN等网络接口,请确保其被正确配置。您可以使用以下命令查看您的网络接口列表:ifconfig
如果您看到接口列表中没有DHCP流量的接口,可以尝试使用以下命令启用DHCP流量的接口:sudo dhclient <interface_name>
其中,<interface_name>是您需要启用DHCP流量的接口的名称。
Wireshark配置问题:如果您的Wireshark没有正确配置,可能无法捕获DHCP流量。您可以尝试打开Wireshark的首选项窗口,然后在“协议”中找到DHCP协议,并确保其被启用。
2. 运行 sudo dhclient -v 命令,获取 DHCP 客户端 ID。
3. 使用 Wireshark 过滤器进行过滤,并将 DHCP 客户端 ID 设为筛选器条件。
4. 激活过滤器,并开始捕获 DHCP 报文。
以上是关于利用WIRESHARK捕获了一个ARP数据报文,其十六进代码表示为:000108000604000的主要内容,如果未能解决你的问题,请参考以下文章