ARP

每台电脑 本地 都有一个arp表.

  • 这个表是动态的.

本地电脑只有和自己有关系的ARP 缓存表.

路由器上的 arp 表是最全的.

Win

arp -a
//显示 所有接口的 ARP 缓存表.

arp -a -N 172.19.16.166 //显示特定接口的 ARP 缓存表.

arp -d 删除 arp -s 手动添加静态 arp 表. arp -a 增加

ARP 绑定.

双向的! 本地和网关 都要绑定.


  • 查看所有参数 arp -a

  • 导出文件: arp -a >/users/v/desktop/mb/xx.txt

  • 分页显示: arp -a | less

  • 把 192.168.1.2 解析成 00-11-22-33-44-55 arp -s 192.168.1.2 00-11-22-33-44-55

  • 删除 arp arp -d

  • 增加 arp arp -a

ARP

arp:将ip 解析成 物理 mac 地址的协议.

也就是 将 网络层(osi 第三层) 借此成 数据链路层.(osi 第二层)

ip 到 mac 地址 映射方式有两种 表格方式 和 非表格方式

原理: 主机 a 向 b 发送报文.

  1. 首先 a 查询本机的 arp 缓存表.

  2. 查到b的 mac → 进行数据传输.
  3. 未查到: a 发广播 (a的 ip&mac)

    所有电脑 都会受到这个 广播.
    只有 b 会回应这个请求报文
    并返回b的 IP&mac 地址.

比如 a b c 三电脑. c 是服务器 ab 是客户端.
b 发送一个arp报文 ( 说 c 的 mac 地址是 … 瞎编一个地址. ) 这些全网的 电脑的 arp 缓存表 里面 c 的 mac 地址就被替换掉了. 导致不能和 c 进行沟通.

ARP 欺骗

ARP病毒的基本原理 发送伪造的ARP欺骗广播,中毒电脑自身伪装成网关的特性,就可以快速锁定中毒电脑。

在网络正常的时候,牢牢记住正确网关的IP地址和MAC地址,并且实时监控着来自全网的ARP数据包, 当发现有某个ARP数据包广播,其IP地址是正确网关的IP地址,但是其MAC地址竟然是其它电脑的MAC地址的时候,这时,无疑是发生了ARP欺骗。对此可疑MAC地址报警,

在根据网络正常时候的IP-MAC地址对照表查询该电脑,定位出其IP地址,这样就定位出中毒电脑了。

下面详细说一下如何利用命令行方式检测ARP中毒电脑的方法.  

,利用系统自带的ARP命令即可完成。当局域网中发生ARP欺骗的时候,ARP病毒电脑会向全网不停地发送ARP欺骗广播,这时局域网中的其它电脑就会动态更新自身的ARP缓存表,将网关的MAC地址记录成ARP病毒电脑的MAC地址,这时候我们只要在其它受影响的电脑中查询一下当前网关的MAC地址,就知道中毒电脑的MAC地址了,查询命令为 ARP -a,需要在cmd命令提示行下输入。输入后的返回信息如下:  Internet Address Physical Address Type  192.168.0.1 00-50-56-e6-49-56 dynamic  这时,由于这个电脑的ARP表是错误的记录,因此,该MAC地址不是真正网关的MAC地址,而是中毒电脑的MAC地址!这时,再根据网络正常时,全网的IP—MAC地址对照表,查找中毒电脑的IP地址就可以了。由此可见,在网络正常的时候,保存一个全网电脑的IP—MAC地址对照表是多么的重要。可以使用nbtscan工具扫描全网段的IP地址和MAC地址,保存下来,以备后用。 方法是:
arp -a   查看MAC【注:对于是用arp -a 命令来查看mac地址表,此时出现的mac地址并不一定是网关的mac地址,随着arp的不断变种,出现的mac地址表很有可能是内网中其他计算机的mac地址。】
arp -d  清空ARP缓存 
arp -s   绑定网关,格式为   arp -s ip mac   :ARP -S 网关IP 网关MAC

如何看 是否有 arp 攻击. 电脑装个 arp 防火墙.就能知道了 . 或者 路由器 mac 和 ip 绑定.

测试环回地址。

不管是linux、unix还是windows系统,都有一个为127.0.0.1这样的ip地址。 这是一个特殊ip地址,称为主机环回地址。

测试功能 127.0.0.1常用来在本机测试各种网络服务,下面列举一些事例: 1、测试sshd服务是否正常。在控制台上运行命令 ssh 127.0.0.1如果出现要求输入密码则表明sshd服务正常。 2、测试ftp服务。在控制台运行命令 ftp 127.0.0.1 ,某个控制台的输出入下: -bash-3.00# ftp 127.0.0.1 ftp: connect: Connection refused ftp>

这个输出表明ftpd服务不正常,正常提供网络服务的ftp输出应该是这样的: -bash-3.00# ftp 127.0.0.1 Connected to 127.0.0.1. 220 (vsFTPd 2.0.5) Name (127.0.0.1:root):

3、测试邮件服务

4、查看系统都开放了那些端口。Nmap工具是个非常好的选择,输出结果远比netstat 直观。

Nmap run completed – 1 IP address (1 host up) scanned in 0.224 seconds

本地应用程序连接 象apache+php+mysql这样的应用环境,应用程序与mysql数据库同时存在于同一个系统上面,常用环回地址127.0.0.1做套接字的ip地址。

在这里可能有人会质疑:不用环回地址可不可以?答案是肯定的,用主机某个网络接口的ip就可以代替这个环回地址。那这里为什么还要强调这个环回地址呢?主要的原因是方便和稳定。网络接口的地址可能因为某种原因被更改(如服务器搬迁到别的地理位置),或者应用被迁移到另外的系统,象前面描述的apache+php+mysql 环境,由于使用了环回地址127.0.0.1,就不会受ip地址改变的影响,反之亦然。有的网络服务,对它自身所监听的网络接口—如把apache的监听设置成 “Listen 192.168.27.201:80”—依赖性比较高,一旦网络接口中断(down),服务本身也可能停止,如果采用默认的监听地址127.0.0.1就不会发生这种情况。

测试 本机网卡好坏.

网卡 好坏. 两个灯 红灯 电源.. 绿灯 网络. 不亮/常亮 都有问题. 不传输数据 闪烁慢. 传数据 闪烁快.

· 输入“ping 127.0.0.1”(对每一台计算机都是相同的,所以你不需要更改设置)。这会测试计算机的网络芯片,而非你的调制解调器,路由器或互联网连接。 · 按“回车”开始执行ping操作。 · 在命令的末尾输入“-t”,以进行连续测试。 · 要退出连续测试,按“Ctrl + C”。 · 在命令的末尾输入“-n 20”以发送20个ping命令。任何值取代20(该值将被限制为32位或64位的整数)。 · 如果一切正常,你会看到类似: · 看看ping统计。他们应该会报告0 %的损失。 · 关注响应时间,因为它代表着计算机和服务器之间连接的延迟。两位数的值(如50毫秒,或更低)是很好的。这种变化极大地取决于所在服务器与你的电脑如何连接。一般地,大多数的连接应有小于几百毫秒的延迟。如果没有网络连接,你将看到“请求超时”的字样,并不断重复。