HH123_3 2021-11-17 20:29 采纳率: 86.8%
浏览 65
已结题

为什么和书上说的不一样呢?

看《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

  1. B首先使用ARP获得网关的MAC地址,然后向网关发包。
  2. 网关接收到了之后,转发给了A。
  3. A接收之后,使用ARP来获取B的MAC地址。
  4. 当B接收到ARP请求后,说ARP请求好和接收端口不在同一网络,丢弃了该帧,如下图所示。

img

网络拓扑:

img

  • 写回答

1条回答 默认 最新

  • wj31932 2021-11-22 14:06
    关注

    内核里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.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月30日
  • 已采纳回答 11月22日
  • 创建了问题 11月17日

悬赏问题

  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样