xu言:

最近生了一场病,虽然不是给自己找理由不写。不过果不其然还是没有坚持每天发一篇啊。不过,有时间我还是会把一些有意思的事情记录下来。以作备忘吧。这人老了记性就不好了。哈哈哈,当然,也侧面说明了。做一件小事,坚持很重要。当然,比坚持更重要的是思路和方法。

昨日,无意在公司开了一下Xarp工具(高级ARP欺骗检测工具)。 = 。=之前做实验发现的一个工具,自己感觉用起来还不错。突然发现了大量频繁的某mac地址和某ip在发送ARP包:

对应提示的IP地址是192.168.137.135 (ip地址和mac均载局网内找不到) 从ip地址结构来看,类似安装了虚拟机分配的一个临时ip地址

奇怪的事,内网我在核心华为交换机上 dis arp all | incl <mac节略部分> 仅查到一个相仿的2个mac地址

90-b1-1c-26-00-e1 (dell服务器em1网卡)

90-b1-1c-26-00-e2 (dell服务器em2网卡)

所以,排查思路首先定位到相仿的一台Dell服务器上面:从网卡命名规律来看,应该是这台dell服务器的第三张网卡.

然而...这服务器仅仅只有2张物理网卡!!!

这就“灵异”了。。。

本着打破砂锅问到底的精神,尝试设置了一个和192.168.137.x同段的ip地址去ping,还真能ping通。。然后使用nmap去查也并未有收获。

突然,思路就想把这台相仿的服务器网卡拔掉看看。

果然,拔掉em1的物理网卡的时候。192.168.137.135出现的丢包。证明物理接口给这个诡异的ip和mac提供底层。

然后,这个服务器上安装的是一个centos6.9的系统,寻找到权限后继续排查。从网卡配置文件上看到了这个“灵异”MAC

为了确认这个MAC地址是否为初始的mac还查看了cat  /etc/udev/rules.d/70-persistent-net.rules 这个配置文件

发现应该是人为做“桥接”模式的时候修改的这个mac地址。

MAC修改回来后,把服务器做了一次关机。然后重新开启,局网内没有再见到发送ARP包。

后续研究:

后来对本次的局网的ARP报进行了下查询

Gratuitous ARP也称为免费ARP。无故ARP。Gratuitous ARP不同于一般的ARP请求,它并不是期待得到IP相应的MAC地址,而是当主机启动的时候,将发送一个Gratuitous arp请求,即请求自己的IP地址的MAC地址。

也就是说,正常情况下为了检测ip地址冲突,在主机启动的时候会发送一个这个包。像我发现的这种大量的包,应该就是出现了异常。

Sum:

1.回顾了下Tcpdump 和 wireshare的使用

2.排查思路上,针对发现局网内出现的这种“灵异”mac地址。也始终要相信“电脑不会撒谎”,问题事在人为!

3.对于异常的网络数据包,一定要追究其真相。整个过程也是学习思考的一个很重要的过程。

参考资料:

https://www.cnblogs.com/gavanwanggw/p/6721384.html

https://www.cnblogs.com/f-ck-need-u/p/7064286.html

记一次排查局网内的ARP包 “不存在的” MAC 地址及 “不存在的”IP 所发的ARP包的更多相关文章

  1. content内网,会显示内容,没有内容可地址存在就是这个情况

    漏洞地址:http://note.youdao.com/memory/?url=http://www.wooyun.org(如需登录,请注册登录) 正文预览的地方会读取URL地址的<meta n ...

  2. PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码

    做一个内网根据MAC地址自动登录的应用,在WINDOW 2003可以正常使用,函数如下   复制代码 代码如下: function ce_getmac() { if(PHP_OS == 'WINNT' ...

  3. 查找网内活跃IP和自动传输文本

    ifconfig p32p1|egrep -o "broadcast [^ ]*" |grep -o "[0-9.]*"grep -o "broadc ...

  4. 如何优雅排查现网服务器cpu飙高的问题

    1.排查现网服务器cpu飙高问题的思路 1.查看java进程id ps -ef|grep java 2.使用top -Hp 进程id 查看cpu比较高的线程 3.执行jstack 进程id > ...

  5. 通过js获取计算机内网ip,计算机名,mac地址

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  6. 怎么查询局域网内全部电脑IP和mac地址等信息?

    在局域网内查询在线主机的IP一般比较简单,但局域网内全部电脑的IP怎么才能够查到呢?查询到IP后我还要知道对方的一些详细信息(如MAC地址.电脑名称等)该怎么查询呢??? 工具/原料 Windows ...

  7. 怎么查询局域网内全部电脑IP和mac地址..

    在局域网内查询在线主机的IP一般比较简单,但局域网内全部电脑的IP怎么才能够查到呢?查询到IP后我还要知道对方的一些详细信息(如MAC地址.电脑名称等)该怎么查询呢??? 工具/原料 Windows ...

  8. Android 获得本地IP地址、外网IP地址、本设备网络状态信息、本地Mac地址

    本地内网IP和外网IP的区别: 根据我的经验一台电脑需要两个ip才可以上网,一个是本地的内网ip 一个是外网的ip 本地的ip 一般是192.168.1.2这种样子  只要在不同的路由器上可以重复 外 ...

  9. 使用ARP获取局域网内设备IP和MAC地址

    根据Arp列表数据,查询本地设备在线状态 使用 arp -a 获得所有内网地址,首先看Mod对象 public struct MacIpPair { public string HostName; p ...

随机推荐

  1. topcoder srm 545 div1

    problem1 link 这个可以贪心地从前向后构造.假设当前已经的字符串为$S$,对于一个字符$c$来说,设将$c$加到$S$后得到的新串为$S^{'}$.那么如果$X+Y+Z \ge minIn ...

  2. oracle a:=100 和 b=:c 区别

    a:=100  是赋值语句 b=:c  :c是一个整体,表示一个参数.

  3. FireMonkey 源码学习(4)

    (4)DoDrawLayout DoDrawLayout函数的源代码分析如下: procedure TTextLayoutNG.DoDrawLayout(const ACanvas: TCanvas) ...

  4. C# lock 关键字的一些理解

    C# lock 关键字的一些理解 问题1:谁是锁? lock 这个关键字,并不是“锁”,真正的“锁”是那个被lock的Object类型的“对象”,请注意,这里为“对象”加了双引号着重强调被lock的是 ...

  5. php的pear编程: phpDocumentor的使用?

    pfc: php基础类库: pecl: php扩展公共库 pear: php extension and application repository. php的扩展和应用库 phar: ['fa:] ...

  6. 【server.properties】kafka服务设置

    每个kafka broker中配置文件server.properties默认必须配置的属性如下: broker.id=0 num.network.threads=2 num.io.threads=8 ...

  7. Set和WeakSet数据结构

    学习Set数据结构,注意这里不是数据类型,而是数据结构.它是ES6中新的东西,并且很有用处.Set的数据结构是以数组的形式构建的. Set的声明 let setArr = new Set(['js', ...

  8. Symbol在对象中的作用

    Symbol的打印 我们先声明一个Symbol,然后我们在控制台输出一下. var g = Symbol('jspang'); console.log(g); console.log(g.toStri ...

  9. BZOJ 4808: 马(二分图最大点独立集)

    http://www.lydsy.com/JudgeOnline/problem.php?id=4808 题意: 思路: 这图中的两个马只能选一个,二选一,很像二分图吧,对能互吃的两个棋子连线,在所选 ...

  10. Python 爬取 猫眼 top100 电影例子

    一个Python 爬取猫眼top100的小栗子 import json import requests import re from multiprocessing import Pool #//进程 ...