问题说明:
在公司办公网内的一台物理机A上安装了linux系统(ip:192.168.9.120),在上面部署了jenkins,redmine,svn程序。由于是在办公网内,这台机器和同事电脑都是在同一网段的。
突然某天问题出来了:有部分同事远程ssh登陆不上这台linux系统的机器,jenkins/redmine/svn也登陆不上,其他部分同事可以正常使用。

后来发现,是因为这台linux机器的ip被人占用了,ip地址冲突引起的!!

下面介绍下检查ip地址是否冲突的方法:
---------------------------------------------------
第一种方法(arping):

只需要在另一台同网段的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信息。
---------------------------------------------------------

---------------------------------------------------------
第二种方法(arp-scan)

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

首先安装arp-scan则输入:
[root@dev ~]# yum install -y arp-scan
------------------------------------
如果报错说没有这个软件包,则需要提前安装epel软件仓库
centos5 64位:
rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

centos6 64位:
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

centos6 64位:
yum install -y http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
------------------------------------

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

[root@dev ~]# arp-scan -l
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.9.2 with 256 hosts (http://www.nta-monitor.com/tools-resources/security-tools/arp-scan/)
192.168.9.1 00:25:b3:f9:16:3e Hewlett Packard
192.168.9.2 30:8d:99:ab:42:40 Hewlett Packard
192.168.9.4 24:26:42:a6:81:f9 SHARP Corporation.
192.168.9.7 f4:ce:46:3e:15:d6 Hewlett Packard
192.168.9.8 08:2e:5f:bd:0f:43 Hewlett Packard
192.168.9.9 00:21:5a:84:9d:0c Hewlett Packard
................
................
192.168.9.119 68:f7:28:d5:d4:26 LCFC(HeFei) Electronics Technology co., ltd
192.168.9.120 50:7b:9d:25:29:59 LCFC(HeFei) Electronics Technology co., ltd
192.168.9.120 40:F4:EC:76:79:C2 VMware, Inc. (DUP: 2)
192.168.9.121 00:23:24:9b:09:89 G-PRO COMPUTER
192.168.9.122 b8:88:e3:35:8e:74 COMPAL INFORMATION (KUNSHAN) CO., LTD.
...............
...............

110 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.9.2: 256 hosts scanned in 2.257 seconds (113.42 hosts/sec). 110 responded

由上面信息可知:192.168.9.120这个IP冲突了,因为它出现了两次,并且可知这个ip被vmware虚拟机占用了。
需要找到使用这个ip的机器,将其ip更换即可!

 

1)“arp-scan -l” 命令表示查看与本机在同一局域网内的所有机器的ip使用情况
2)“arp-scan –I eth0 -l” 命令表示查看与本机在同一局域网内的所有主机的eth0网卡的ip使用情况

--------------------------------------------------------
windows本机使用“arp -a”命令查看是否有ip冲突:

如果查出有两个ip一样,就说明ip冲突了。

Linux下检测IP地址冲突及解决方法的更多相关文章

  1. 【IP】Linux中检测IP地址冲突

    在Windows系统中,如果本地网络IP地址出现冲突,会出现图标提示. 在Linux系统中,并没有提供相关的功能,如果本地网络采用静态IP地址配置,出现比较奇怪的网络连接问题,如ssh连接复位,可以考 ...

  2. CentOS/Linux下设置IP地址

    CentOS/Linux下设置IP地址 1:临时修改:1.1:修改IP地址# ifconfig eth0 192.168.100.100 1.2:修改网关地址# route add default g ...

  3. 获取Linux下的IP地址 java代码

    /** * 获取Linux下的IP地址 * * @return IP地址 * @throws SocketException */ public static String getLinuxLocal ...

  4. linux下修改IP地址的方法

    linux下修改IP地址的方法 1.网卡的命名规则 在centos7中,en表示着:ethernet以太网,即现在所用的局域网,enX(X常见有以下3种类型) 2.IP地址的临时修改(重启后失效) 查 ...

  5. windows下获取IP地址的两种方法

    windows下获取IP地址的两种方法: 一种可以获取IPv4和IPv6,但是需要WSAStartup: 一种只能取到IPv4,但是不需要WSAStartup: 如下: 方法一:(可以获取IPv4和I ...

  6. Linux下配置ip地址四种方法

    linux系统安装完,以后通过命令模式配置网卡IP.配置文件通常是/etc/sysconfig/network-scripts/ifcfg-interface-nameifconfig后显示的内容,l ...

  7. linux下设置ip地址 gw网关,dns的方法

    本文介绍下,在linux中设置IP地址.网关.dns的方法,有需要的朋友作个参考吧.   设置linux网络的方法有两种:第一种:使用命令修改(直接即时生效) 复制代码代码示例: ip and net ...

  8. 检测IP地址冲突的shell脚本-check_server_ip_conflict.sh

    check_server_ip_conflict.sh 使用arping获取对应IP地址的MAC地址,如果和预料的不一致则报警: #!/bin/bash epg_addr_01="00:50 ...

  9. linux下配置ip地址四种方法(图文方法)

    主要是用第四种方法 (1)Ifconfig命令  第一种使用ifconfig命令配置网卡的ip地址.此命令通常用来零时的测试用,计算机启动后 ip地址的配置将自动失效.具体用法如下.Ipconfig  ...

随机推荐

  1. 维翔主机asp主机使用遇到的问题及解决方案总结

    1.数据库配置 在这里,我们会发现,红色圈起来的部分"Webadmin"处点击之后会报错,这是因为,数据库管理工具没有进行域名解析,需要在域名购买商处添加一个域名解析,mssql, ...

  2. iOS小游戏打地鼠

    #import "ViewController.h" #import <AudioToolbox/AudioToolbox.h> @interface ViewCont ...

  3. 【原】UIView实现点击着重效果的解决方案

    我们知道,在IOS中UIButton UIControl都有一个默认的选中效果,即点中后会图标会变暗,移开后又恢复正常.如何让UIView UIImageView等这些普通的view也实现同样的效果呢 ...

  4. IOS开发支付宝集成

    开发准备 1.首先新建项目,然后去官网下载最新的开发包:http://doc.open.alipay.com/doc2/detail?treeId=59&articleId=103563&am ...

  5. javascript对象模型和function对象

    javascript中,函数就是对象 <html> <head> <script type="text/javascript"> functio ...

  6. 读书笔记——Windows环境下32位汇编语言程序设计(3)求复数模的子程序

    3.6.1.1中的例子 _Calc proc _dwX,_dwY local @dwResult finit fild _dwX fld st(0) fmul ;i*i fild _dwY fld s ...

  7. 读书笔记——Windows核心编程(13)Windows内存体系结构

    对于32位进程(0x0000 0000~0xFFFF FFFF),有4GB的地址空间. 每个进程都有自己专有的地址空间,当进程的各个线程运行时,它们只能访问属于该进程的内存. 这4GB其实是虚拟地址空 ...

  8. 虚拟机ping不通主机,但是主机可以ping通虚拟机(转载)

    我在Windows7系统安装了虚拟机,通过虚拟机安装了Ubuntu13.04,我设置的主机与虚拟机的连接方式是桥接,安装好后,发现虚拟机ping不通主机,但是主机可以ping通虚拟机. 我的操作是:关 ...

  9. Window I/O 完成端口 (Windows I/O Completion Port (IOCP))

    相关对象 IO EndPoint, 所有支持重叠IO(overlapped IO)的设备,比如文件,Winsock,管道等. IOCP, IO完成端口内核对象,可以使用API CreateIoComp ...

  10. Android Studio调试功能使用总结【转】

    Android Studio调试功能使用总结[转]   这段时间一直在使用Intellij IDEA, 今天把调试区工具的使用方法记录于此. 先编译好要调试的程序. 1.设置断点 选定要设置断点的代码 ...