关于机器访问自己内网IP的问题讨论

对于一台机器来说,他在访问自己的内网地址的时候究竟是怎么样一个原理呢?我们通过几个小实验来探究一下。

 

这个实验里面有3台机器,机器A,地址是172.31.100.107,机器B用于辅助测试,地址是172.31.100.170,还有一台Linux机器C用于做scapy的测试,IP172.31.100.222

 

实验1

在机器A上面psping它自己的内网地址和端口,进行抓包:

查看AIP地址为172.31.100.107

关于机器访问自己内网IP的问题讨论_第1张图片

在机器A上面psping自己的3389端口:

关于机器访问自己内网IP的问题讨论_第2张图片

A上面抓包发现没有数据包:

关于机器访问自己内网IP的问题讨论_第3张图片

B机器psping机器A3389端口,仍然是在A上面抓包发现可以抓到报文:

关于机器访问自己内网IP的问题讨论_第4张图片

 

实验2

我们在机器A上添加一条防火墙规则,block掉所有的3389入站:

关于机器访问自己内网IP的问题讨论_第5张图片


然后我们依然在A上面psping自己的3389端口,仍然可以连通:

关于机器访问自己内网IP的问题讨论_第6张图片

但在B机器上测试psping机器A3389就不通了:

关于机器访问自己内网IP的问题讨论_第7张图片

 

实验3

这个实验我们需要借助机器C上面安装的scapy工具,机器CIP

关于机器访问自己内网IP的问题讨论_第8张图片

我们目标机器这回是用机器B。我们在机器B上开始进行抓包,过滤条件为"ipv4.Address==172.31.100.170and tcp.Port==3389",在机器C上面也进行抓包(tcpdump -i eth0 -w server.cap),然后再机器C上面用scapy模拟两种不同的报文:

关于机器访问自己内网IP的问题讨论_第9张图片

然后我们发送两种报文各4次:

关于机器访问自己内网IP的问题讨论_第10张图片

停止抓包,我们查看一下在机器C上面的抓包的情况(这里面HANXU3-D-1这个是172.31.100.170的主机名):

关于机器访问自己内网IP的问题讨论_第11张图片

可以看到在C机器上面8个报文都发出了。

但是我们在B上面查看一下抓包情况:

关于机器访问自己内网IP的问题讨论_第12张图片

可以看到,在B上面没有收到我们伪造的源地址和目的地址都是172.31.100.170的包。

 

综合以上三个实验,我们不难得出下面两个结论:

  1. 当机器的网卡收到一个报文,报文中源地址和目的地址都是自己的时候,网卡会丢弃这个报文。
  2. 当机器在自己本地进行本机端口测试或者网络连通性测试的时候,不会产生报文(与测试127.0.0.1环回地址原理相同)。

你可能感兴趣的:(Hardware,计算机网络,Debugging,网络,网卡,抓包,计算机网络)