双网卡问题

技术双网卡问题 双网卡问题目录双网卡问题问题问题一问题二总结问题三
双网卡问题
问题环境介绍:
如上图所示,PC-A有两卡网卡,注意,网卡一设置有默认网关,而网卡二并没有,网卡二只有IP和掩码,网卡的默

双网卡问题

双目录网卡问题问题问题一问题二总结问题三

双网卡问题

问题

环境介绍:

如上图,PC-A有两张网卡。请注意,第一张网卡有默认网关,但第二张网卡没有。第二张网卡只有IP和掩码,网卡的默认网关位于路由器的一个接口上。PC-B的默认网关也在路由器的一个接口上;

问题一

我当前正在PC-A上运行ping命令,如下所示:

ping -n 1 192.168.1.2

PC-A的192.168.1.2 ping是面板还是PC-B?

这种问题不能在模拟器上测试。虽然模拟器有很高的仿真度,但还不能与真实环境相匹配。这种问题还是需要认真使用真实的环境,真实的windows电脑,真实的交换机和路由器。为了保证实验的真实性,在每一步操作后都会通过arp -d清空arp缓存。

个人电脑的操作:

# arp -d清除arp缓存

PS C:\Windows\system32 arp -d

# ping -n 1是指定ping的数量为1。

PS C : \ Windows \ system32 ping-n 1 192 . 168 . 1 . 30

用32字节的数据ping 192 . 168 . 1 . 30 :

192.168.1.30的回复是:字节=32小时,1毫秒TTL=128。

192.168.1.30 Ping统计:

数据包:已发送=1,接收=1,丢失=0(丢失0%),

预计往返时间(毫秒):

最小值=0毫秒,最大值=0毫秒,平均值=0毫秒

PS C : \ Windows \ system32 ARP-a | find str ' 192 . 168 . 1 . 30 '

192.168.1.30 00-08-0a-0d-0d-b8 #这里注意,这个MAC是面板机网卡的MAC地址;

通过上面的操作,我们发现当我们ping 192.168.1.30的时候,响应的是面板电脑,和我们理解的一样。我们可以在ping的同时进一步操作和add -t,如下图,得到的结果和上面一样;

个人电脑的操作:

PS C:\Windows\system32 arp -d

PS C : \ Windows \ system32 ping 192 . 168 . 1 . 30-t

用32字节的数据ping 192 . 168 . 1 . 30 :

192.168.1.30的回复是:字节=32小时,1毫秒TTL=128。

192.168.1.30的回复是:字节=32小时,1毫秒TTL=128。

192.168.1.30的回复是:字节=32小时,1毫秒TTL=128。

192.168.1.30的回复是:字节=32时间=1毫秒TTL=128

192.168.1.30的回复是:字节=32小时,1毫秒TTL=128。

192.168.1.30的回复是:字节=32小时,1毫秒TTL=128。

PS C : \ Windows \ system32 ARP-a | find str ' 192 . 168 . 1 . 30 '

192.168.1.30 00-08-0a-0d-0d-b8

我们可以进一步验证,当PC-a ping时,我们会抓取其网卡II上的数据包,如下所示:

通过以上步骤,充分说明当我们在PC-A上ping 192.168.1.30时,参与响应的是面板机。

问题二

PC-A的第二张网卡所在的网络中只有两台主机,一台是PC-A本身,另一台是平板电脑。如果现在把平板电脑的IP地址改成192.168.1.31,pc-a再次ping 192.168.1.30会发现什么?

PS C:\Windows\system32 arp -d

PS C : \ Windows \ system32 ping-n 1 192 . 168 . 1 . 30

用32字节的数据ping 192 . 168 . 1 . 30 :

来自192.168.1.2的回复:无法到达目标主机。

192.168.1.30 Ping统计:

数据包:已发送=1,接收=1,丢失=0(丢失0%),

当我们抓取PC-A的第二张网卡上的数据包时,会发现第二张网卡已经找到了三个对其网络的arp广播,但是没有响应,所以无法访问目标主机。

如果我们把ping -n改成2呢?

PS C:\Windows\system32 arp -d

PS C : \ Windows \ system32 ping-n

2 192.168.1.30
正在 Ping 192.168.1.30 具有 32 字节的数据:
来自 192.168.1.2 的回复: 无法访问目标主机。
来自 192.168.1.30 的回复: 字节=32 时间1ms TTL=63
192.168.1.30 的 Ping 统计信息:
数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms
PS C:\Windows\system32 arp -a | findstr "192.168.1.30"
PS C:\Windows\system32 arp -a | findstr "10.100.12.1"
: 10.100.12.11 --- 0x3
10.100.12.1 80-e4-55-f5-d8-68

注意,问题出现了,我们发现第二个包竟然是通了,但我们通过arp表项查看192.168.1.30,发现是空的,这说明什么这说明此时的192.168.1.30与自己不是同一个网段,而是跨网段通信的,PC-A将请求将给了网关,arp表项里面只有网关的mac,没有192.168.1.30的具体mac;

上面的抓包是在PC-A的网卡二上进行抓的,说明电脑第一反应还是正常的,还是从自己网卡二的网络当中去找192.168.1.30,当电脑发现通过网卡二无法找到192.168.1.30的时候,转而向网卡一进行“求助”,根据通信原则,网卡一介入处理PC-A通往192.168.1.30的报文,于是网卡一将其交给网关处理,我们可以在运行ping -n 2 192.168.1.30网卡一上也抓包验证一下,如下所示:

总结

当我们在PC-A上运行ping -n 1 192.168.1.30的时候,PC-A确实会遵循通信原则,判断192.168.1.30与自己的网卡二处于一个网段,所以会从网卡二向192.168.1.30发出三次arp请求,如果这三次arp有应答,那就是通的,如果三次没有一次成功,那就是通的。

当拓扑变成了这样:

我们再在PC-A运行ping -n 1 192.168.1.30,这时候PC-A还是会通过网卡二做三次的arp广播,有回答则通,反之刚不通;但是如果我们ping 192.168.1.30 -t的话,我们会发现在第二个包的时候会通,为什么这是因为windows系统运行机制所决定的,windows这种成熟的操作系统还是恪守了通信的基本原则,但没有死守,当windows通过网卡二发送了三次arp请求之后,发现没有回答,立马将任务交于另一个网卡,而另一个网卡也会根据通信原则重新做判断,网卡一根据通信原则发现192.168.1.30与自己的网卡不是一个网段,但网卡一有网关,于是将数据包交给网关,网关再交给PC-B,PC-B成功应答;

问题三

当我在PC-A通过nmap的ping scan方法扫描192.168.1.0/24整个网网段的时候结果相当之”单纯“,就只有网卡二所接入网络内的所有的主机,就仅仅发了一次arp广播,比windows系统本身还要少两次,windows默认是三次,但这并不能说明nmap不好用,只能说nmap为了实现高速扫描目的在一定程度上牺牲了准确性,但nmap扫描的也挺准的,好像准备性也没有收到什么影响,如下图抓包所示:

我同事使用另一种扫描工具,不仅会把网卡二所接的网络内的主机列出来,还会将路由器另一侧同样的是192.168.1.0/24网段内主机给列出来,是因为我同事使用的那个工具是调用的windows自带的ping,而且起码ping的次数是二次,每一次是三次arp广播,前三个arp广播会发到网卡二所在的网段,而后三个就会交给网卡一处理,自然就会把路由器另一侧属于192.168.1.0/24网段的主机给列出来。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/121789.html

(0)

相关推荐

  • 手机闹钟怎么设置闹铃,苹果手机闹铃声音在哪里设置

    技术手机闹钟怎么设置闹铃,苹果手机闹铃声音在哪里设置苹果手机闹铃声音的设置方法:打开苹果手机时钟,点击“加号”,滑动数字设置闹钟时间,打开“重复”,勾选一周里要使用闹钟的日期,点击“返回”;选择“铃声”,找到喜欢的铃声并

    生活 2021年10月29日
  • 额宝,支付宝于额宝。是什么意思

    技术额宝,支付宝于额宝。是什么意思支付宝里的余额是支付宝平台的一个资金账户额宝,可以随存随取,也可以用于支付宝上面消费,但转入余额账户的资金不产生收益。余额宝是一种资金管理服务。转入余额宝,即购买货币基金,可享货币基金收

    生活 2021年10月20日
  • 如何进行JavaScript数据扁平化分析

    技术如何进行JavaScript数据扁平化分析如何进行JavaScript数据扁平化分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。什么是

    攻略 2021年12月4日
  • javascript内存泄漏有哪些原因

    技术javascript内存泄漏有哪些原因本篇内容介绍了“javascript内存泄漏有哪些原因”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔

    攻略 2021年11月20日
  • Java异常的学习心得是什么

    技术Java异常的学习心得是什么这期内容当中小编将会给大家带来有关Java异常的学习心得是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一. 异常机制异常机制是指当程序出现错误后,

    攻略 2021年10月23日
  • zookeeper怎么远程调用(如何开zookeeper)

    技术如何进行Zookeeper开源客户端框架Curator的简单使用如何进行Zookeeper开源客户端框架Curator的简单使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小

    攻略 2021年12月23日