看《whireshark网络分析就这么简单》第一节从一道面试题开始说起,我用packet tracer进行模拟,但是实验结果和书上的不同。书上说在执行ARP回复时并不考虑子网。即第4步B收到ARP请求时应该回复,而不是丢弃。为什么我模拟的时候显示丢弃呢?错在哪呢?是packet tracer模拟和现实还是有区别的么?
详细实验过程:
主机A和B同属于同一子网,但是B的子网掩码配错了(255.255.255.0 -> 255.255.255.224),使得B认为与A不属于同一子网,A还是认为与B属于同一子网。
B ping A
网络拓扑:
内核里arp_ignore 的值,决定回arp reply的规则
在收到解析本机IP地址的ARP请求后,此值定义了发送回复报文的几种不同模式:
0 - (默认值)只要请求的目标IP地址为本机地址,不管其配置在哪个接口上, 都回复其arp reply。
1 - 只有在请求的目标IP地址所在接口,与接收此请求报文的接口相同时回复。
2 - 除满足1的条件外,还要求发送arp请求的源IP地址所在网段为接收接口的IP地址所在网段的子网。
3 - 仅回复目标IP地址类型(scope)为global与link的请求,不对类型为host的请求回复。 另外,不要求目标IP位于数据包接收的接口上。
4 - 7 保留
8 - 不回复对本地地址的请求。
丢弃,应该是值为2,应答是0或者1.