首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在ifconfig下没有捕获数据包丢弃?

为什么在ifconfig下没有捕获数据包丢弃?
EN

Stack Overflow用户
提问于 2014-01-14 20:42:54
回答 1查看 1.2K关注 0票数 3

为了在我的Linux机器上模拟数据包丢弃,我提供了以下几行代码。

代码语言:javascript
复制
# for randomly dropping 10% of incoming packets:
iptables -A INPUT -m statistic --mode random --probability 0.1 -j DROP

# and for dropping 10% of outgoing packets:
iptables -A OUTPUT -m statistic --mode random --probability 0.1 -j DROP

之后,我运行ping some_ip_address,当我终止它时,可以看到行

代码语言:javascript
复制
100 packets transmitted, 84 received, 16% packet loss, time 99137ms

但是,当我运行ifconfig命令时,我看到丢包率仍然为零

代码语言:javascript
复制
      RX packets:16007 errors:0 dropped:0 overruns:0 frame:0
      TX packets:16207 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000

在这里,您可以看到Rx和Tx数据包行中丢弃的字段仍然为零。

有没有人可以告诉我为什么在ifconfig下没有捕获到丢包?

EN

回答 1

Stack Overflow用户

发布于 2014-01-15 02:51:51

这是因为iptables和ifconfig统计信息引用协议栈中的不同层。ifconfig统计用于NIC (物理层和MAC层),而iptables规则在NIC接收到帧并传送到内核(输入)后执行,或者在数据包传送到协议栈中的第2层(用于输出)之前执行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21113846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档