bun*_*den 2 linux networking netstat traffic wireshark
在一个没有任何运行的系统中(至少我不知道)。收听传入和传出流量会打印以下输出:
192.168.1.1 => all-systems.mcast.net 0b 26b 19b
<= 0b 0b 0b
192.168.1.2 => 224.0.0.251 128b 26b 19b
<= 0b 0b 0b
Run Code Online (Sandbox Code Playgroud)
这是什么意思?
192.168.1.1是网关,我的路由器
192.168.1.2是我,我的机器
但是all-systems.mcast.net是谁??还有谁是224.0.0.251??更重要的是,为什么要发送数据包?
发现这个:https : //davidsimpson.me/2015/11/16/why-is-my-machine-contacting-all-systems-mcast-net/ 但我没有运行 DLNA 服务器。那么我向谁广播?
最后一个(也是重要的问题)是:我可以理解 192.168.1.2 与某物联系,我可以理解 192.168.1.1 与我联系,但我不明白为什么我看到 192.168.1.1 与所有系统联系.mcast.net,那么监控我的机器怎么可能显示我的路由器没有发送给我的流量?我应该看不到吧?
我正在使用的实用程序是:
iftop - display bandwidth usage on an interface by host
Run Code Online (Sandbox Code Playgroud)
实用程序 tcptrack 和 netstat 根本没有显示任何内容。因此,唯一合理的解释是该实用程序是该流量的负责人?
问题更新
因此,显然在我的系统内核中以及在我的路由器中集成了这种多播内容,其中包含一个非常基本的问答系统,一个计时器,每 60 秒一次。我不太明白为什么,在一些好人试图向我解释之后,我认为我永远不会。所以我想关掉它。是否可以?
您看到的那些数据包是常规的多播服务(虽然过程类似于广播数据包,但它们本身并不是广播);它们在网络中的输出流量(通常)也可以忽略不计。
实际上,您不仅会看到自己生成的流量,还会看到网络上其他机器生成的那些地址的流量。
默认情况下,所有(Linux)服务器在网络中定期向 224.0.0.1 宣布自己的多播,以便向附近的路由器报告它们能够进行多播。这些数据包应该是 Linux 内核发送的。
至于 224.0.0.251,则是被 Avahi/zeroconf 用于服务公告和发现。
Avahi 是一个免费的零配置网络 (zeroconf) 实现,包括一个用于多播 DNS/DNS-SD 服务发现的系统。
请参阅Cisco - 多播简介
D 类地址 - 多播地址 / 224.0.0.0 - 239.255.255.255
o 224.0.0.1 是所有主机组。如果您 ping 那个组,网络上所有支持多播的主机都应该应答,因为每个支持多播的主机都必须在启动时在所有支持多播的接口上加入该组。
至于看到不适合您的数据包,您应该收听广播和多播数据包/公告,因为它们(通常)发送到所有站点。有细微差别,我不会在这里深入研究。请参阅我正在链接的介绍。
最后,虽然iftop
看到流量,但它不负责产生流量。
您还可以查看服务器所属的多播组:
netstat -g
Run Code Online (Sandbox Code Playgroud)
最后,没有普通用户/您的用户运行程序并不意味着系统什么都不做。Linux是一个多用户/多任务系统,后台有很多管家功能。