如何找出接口入站stream量正在使用?

对于传出的数据包,通过route我可以知道哪个接口正在使用,但是对于传入的数据包,如何找出正在使用哪个接口?

您正在寻找ip route get命令。 这相当于BSD route get

ip route get 50.232.186.20例如将显示什么路线将被用来到那个IP。 该命令不能自行parsing主机名。

一般来说,Linux需要一个数据包通过它将退出的相同接口进入。

如果情况并非如此,则内核会将数据包报告为火星文件,并且如果您设置了以下sysctl值,则从无法返回到( rp_filter标准中的rp接口的数据包中看到的数据包将被丢弃反向path)。

net.ipv4.conf.all.rp_filter = 1

所以通常情况下,除非你有一个特别复杂的路由表或设置,否则你可以检查ip r的输出并进行有根据的猜测。 最有可能的是,你将要检查你的默认路由是什么,你的问题的答案将是“你的默认路由指向的任何接口”的可能性很大。

以上所有内容都可以由pipe理员根据需要进行更改,但一般来说,AFAIK是大多数系统的工作原理。

数据包将来自它的IP地址接口(目标地址),否则它将不会到达接口,并且数据包被忽略(如在集线器中),如果数据包是广播,那么它将来自连接到该广播域的所有接口(为什么只有一个ip应该在同一个ip子网中的原因之一)

MAC级别也一样