【问题标题】:Why do I see packets that where source and destination are not my IP address为什么我看到源和目标不是我的 IP 地址的数据包
【发布时间】:2013-05-17 02:14:12
【问题描述】:

我是网络世界的新手,我正在尝试使用 wireshark 来了解如何从我的机器发送数据包等。因此这个问题可能是一个愚蠢的问题。

当我打开 Wireshark 数据包分析器 GUI(在 Windows 7 上)时,有一个源和目标列。它显示了源 IP 不是我的并且目标 IP 也不是我的数据包。为什么会这样?我的网络接口卡应该只接收和发送寻址到/从我的 IP 地址发送的数据包,对吗? (附截图,我的IP地址是10.177.255.186)

谢谢。

【问题讨论】:

  • 我不知道为什么我的屏幕截图没有显示。我在这里上传了:dropbox.com/s/xa7nvs9nuzcteym/Untitled.png
  • 也许路由器无法知道您的计算机没有通过第二张以太网卡连接到其他机器。那么它是否可以尝试通过您的机器转发数据包?我猜。
  • 我的机器通过 LAN 电缆连接到网络。你是说我的机器充当路由器并正在传递数据包?我什至不知道这是可能的!
  • 我不确定这是否可能,我只是在猜测。想象一下,如果您的机器被用作连接互联网的主要路由器和隔离路由器之间的防火墙,用于连接不应该直接暴露在网络中的易受攻击的设备。它有两个网卡,它会传递不属于它自己的流量。
  • 您的路由器无法知道您的网络布局,它只是尝试将数据包发送到任何它可以发送的地方,希望其中一些最终会在它们的生存时间到期之前跳到它们的目的地。我有点过于简单化了,而且我不是专家,但你明白了。

标签: networking ip wireshark packet


【解决方案1】:

在小型 LAN 上,所有数据包通常都广播给所有人。通过广播,我的意思是数据被物理地发送给每个人。收到后,网络接口会通过查看地址来确定数据包是否已发送给您。

使用 Wireshark 可以将您的网络接口设置为promiscuous mode,这意味着所有数据包都被捕获并从网络接口发送到 CPU。这允许 Wireshark 之类的程序记录所有这些数据包,而不仅仅是针对您计算机的数据包。

编辑:但是数据包不必发送到所有计算机。集线器可用于将多台计算机连接在一起并充当中继器,这意味着所有数据包始终发送到任何地方(数据包来自的线路除外)。然而,开关类似但更智能。 如果三台计算机 A、B 和 C 连接到交换机,并且 A 向 B 发送数据包,则数据包将首先到达交换机。如果交换机知道 B 连接到哪根线,那么它只会将它发送到那根线。如果它不知道它会到处发送它,然后如果 B 回复 A,交换机将找出 B 的线路。这意味着一旦交换机知道 A 和 B 的线路接通,C 通常将永远无法看到 A 和 B 之间发送的任何消息。

【讨论】:

  • 谢谢。 Wireshark 是否默认设置为混杂模式?我怎样才能禁用它?
  • 您可以在捕获选项中更改它。您可以在工具栏中、捕获 -> 选项下的菜单中或使用快捷方式 Ctrl+K 找到它。
  • 数据包将从网络接口发送到CPU????我的意思是,网卡呢?
  • @Neotod,是的,这有点简化了。通常发生的情况是,网络接口(又名 NIC)将通过 CPU 中断通知操作系统,导致 CPU 上下文切换到操作系统,然后操作系统将获取并处理数据包。
猜你喜欢
  • 2021-08-27
  • 2012-04-18
  • 2014-08-24
  • 1970-01-01
  • 2017-07-20
  • 2022-01-24
  • 2016-06-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多