我正在研究无线驱动程序。但我觉得这个问题只是一个一般的网络问题。我看到第一个 ping 数据包的内容很奇怪,这是一个 arp 请求,其中目标 IP 地址与源 IP 地址相同。我在这里算是新手。这是正常的吗?可能出了什么问题?
我手动将无线网卡 IP 配置为 192.168.0.10。然后尝试 ping 192.168.0.1。在 ARP 数据包中,我看到了如下内容:
Address Resolution Protocol (request)
Hardware type: Ethernet (0x0001)
Protocol type: IP (0x0800)
Hardware size: 6
Protocol size: 4
Opcode: request (0x0001)
Sender MAC address: 00:21:e8:71:70:f4 (00:21:e8:71:70:f4)
Sender IP address: 192.168.0.10(192.168.0.10)
Target MAC address: 00:00:00:00:00:00 (00:00:00:00:00:00)
Target IP address: 192.168.0.10(192.168.0.10)
这是我的设置的转储。
# ifconfig mlan0
mlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ssid hwteam
bssid 00:1b:11:4f:42:5f chan 11
address: 00:21:e8:71:70:f4
media: IEEE802.11 autoselect
status: active
# ifconfig mlan0 192.168.0.10 netmask 255.255.255.0
# ifconfig mlan0
mlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ssid hwteam
bssid 00:1b:11:4f:42:5f chan 11
address: 00:21:e8:71:70:f4
media: IEEE802.11 autoselect
status: active
inet 192.168.0.10 netmask 0xffffff00 broadcast 192.168.0.255
# ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 data bytes
----192.168.0.1 PING Statistics----
3 packets transmitted, 0 packets received, 100% packet loss
# netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Mtu Interface
127.0.0.1 127.0.0.1 UH 0 4 33192 lo0
192.168.0/24 link#2 UC 1 0 - mlan0
192.168.0.1 link#2 UHLc 0 3 - mlan0
# arp -a
#
答案1
这不一定与你的ping
命令有关。操作系统可能只是检查同一网络(或同一以太网广播域)中是否有其他主机与你拥有相同的 IP 地址。如果系统收到任何回复这样的 ARP 请求时,它会立即警告用户有关重复的地址。
答案2
源 IP 和目标 IP 相同的 ARP 数据包称为免费 ARP 数据包。您可以阅读此这里
正如上面的链接所提到的,这些数据包有多种用途。但奇怪的是,目标 MAC 应该是 FF:FF:FF:FF:FF:FF,而您的设置并非如此。