linux上怎么看ip冲突

linux上怎么看ip冲突,第1张

只需要在另一台同网段的linux机器B上(比如:129.168.9.200)上执行下面的命令(不能在本机arping检验自己的ip):

只需要在另一台同网段的linux机器B上(比如:129.168.9.200)上执行下面的命令(不能在本机arping检验自己的ip):

[root@dev ~]# arping 192.168.9.120

ARPING 192.168.1.120 from 192.168.9.200 eth0

Unicast reply from 192.168.9.120 [40:F4:EC:76:79:C2] 3.084ms

Unicast reply from 192.168.9.120 [50:7B:9D:25:29:59] 0.817ms

Unicast reply from 192.168.9.120 [50:7B:9D:25:29:59] 0.810ms

........

如果只检查出一个MAC地址,则表示网内A机器的的IP:192.168.9.120是唯一的

如果有以上信息即查出两个MAC地址,则表示网内有一台MAC地址为40:F4:EC:76:79:C2的主机IP地址与A机器相同。

这时可以通过ifconfig命令验证A机器,如下发现:A机器的MAC地址是50:7B:9D:25:29:59 。

我们可以用局域网扫描软件找到MAC地址为40:F4:EC:76:79:C2的主机,并将其隔离或更换IP地址。

[root@redmine ~]# ifconfig

eth0 Link encap:Ethernet HWaddr 50:7B:9D:25:29:59

inet addr:192.168.9.120 Bcast:192.168.9.255 Mask:255.255.255.0

inet6 addr: fe80::527b:9dff:fe25:2959/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:573710854 errors:0 dropped:0 overruns:0 frame:0

TX packets:849943293 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:58543890628 (54.5 GiB) TX bytes:1248037935176 (1.1 TiB)

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:17370722 errors:0 dropped:0 overruns:0 frame:0

TX packets:17370722 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:65642509325 (61.1 GiB) TX bytes:65642509325 (61.1 GiB)

================================================================

检验原理:

arping命令是以广播地址发送arp packets,以太网内所有的主机都会收到这个arp packets,但是本机收到之后不会Reply任何信息。

当我们在linux主机端上执行下面的命令时:

arping 192.168.9.120

会默认使用eth0,向局域网内所有的主机发送一个:

who has 192.168.9.120的arp request,tell 192.168.9.120 your mac address,

当这台windows主机端收到这个arp packets后,则会应答:

"I am 192.168.9.120 , mac是00:25:e4:6a:4b:f4",这样我们会收到mac地址为00:25:e4:6a:4b:f4的windows主机的Reply信息。

当一个动态IP被分配了并且有另外一台网络设备已经拥有了相同的IP。或者在相同网络子网上有多台分配IP的DHCP服务器。如果你有连通问题并且假设它是由于IP冲突造成的,那么你可以使用一个工具称作arp-scan来扫描它们。

这个工具会在本地网络发送ARP(Address Resolution Protocol)(地址解析协议)包来收集地址。如果有多个MAC地址声称拥有相同的IP地址,那么这里就存在冲突。

要在Ubuntu或者Debian上安装arp-scan则输入:

$ sudo apt-get install arp-scan

对于Fedora,CentOS或者RedHat:

$ sudo yum install arp-scan

要检测IP冲突,运行下面的命令:

$ sudo arp-scan –I eth0 -l

输出示例:

192.168.1.10 00:1b:a9:63:a2:4c BROTHER INDUSTRIES, LTD.

192.168.1.30 00:1e:8f:58:ec:49 CANON INC.

192.168.1.33 00:25:4b:1b:10:20 Apple, Inc

192.168.1.37 10:9a:dd:55:d7:95 Apple Inc

192.168.1.38 20:c9:d0:27:8d:56 (Unknown)

192.168.1.39 d4:85:64:4d:35:be Hewlett Packard

192.168.1.39 00:0b:46:e4:8e:6d Cisco (DUP: 2)

192.168.1.40 90:2b:34:18:59:c0 (Unknown)

在本例中,192.168.1.39这个IP冲突了,因为它出现了两次。

下面我们来看一个实例:

一台linux主机 IP:192.168.0.25 MAC: 00:14:k2:5d:8e:b2

一台windows主机 IP:192.168.0.25 MAC: 00:25:e4:6a:4b:f4

两台主机的IP地址相同(IP:192.168.0.25),MAC地址不同

则windows主机会提示IP地址冲突,而linux主机无任何提示

那么如何知道自己的linux主机是否与网络中其它的windows主机IP地址冲突呢?

其实很简单,在linux主机端执行

#arping 192.168.0.25

Unicast reply from 192.168.0.25 [00:25:e4:6a:4b:f4] 1.390ms

如果没有任何信息,则表示网内我的IP是唯一的

如果有以上信息,则表示网内有一台MAC地址为00:25:e4:6a:4b:f4的主机IP地址与我相同,这时可以通过ifconfig命令验

证,你会发现:本机的MAC地址是00:14:k2:5d:8e:b2。我们可以用局域网扫描软件找到MAC地址为00:25:e4:6a:4b:f4的

主机,并将其隔离或更换IP地址。

原理:arping命令是以广播地址发送arp packets,以太网内所有的主机都会收到这个arp packets,但是本机收到之后不会Reply任何信息。当我们在linux主机端上执行下面的命令时:

arping 192.168.0.25会默认使用eth0,向局域网内所有的主机发送一个:

who has 192.168.0.25的arp request,tell 192.168.0.25 your mac address,

当这台windows主机端收到这个arp packets后,则会应答:

"I am 192.168.0.25 , mac是00:25:e4:6a:4b:f4",这样我们会收到mac地址为00:25:e4:6a:4b:f4的windows主机的Reply信息。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8342590.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存