tc 过滤器添加以排除端口 - 不适用于特定端口如何?

问题描述

我正在模拟应用程序测试的网络延迟。所以我用tc命令来模拟流量。

就我而言,我想从使用 tc 过滤器中排除一些端口。所以下面是我使用过的命令。

创建根

sudo /sbin/tc qdisc add dev eth0 root handle 1: htb default 6
sudo /sbin/tc class add dev eth0 parent 1: classid 1:1 htb rate 1000Mbps ceil 1000Mbps
sudo /sbin/tc class add dev eth0 parent 1:1 classid 1:5 htb rate 1000Mbps ceil 1000Mbps
sudo /sbin/tc class add dev eth0 parent 1:1 classid 1:6 htb rate 1000Mbps ceil 1000Mbps

执行以上几行后,我尝试使用 nmap 从另一台机器 ping 机器。

nmap -p 22 10.11.12.13
Host is up (0.00020s latency)

然后运行下面的命令,

sudo /sbin/tc qdisc add dev eth0 parent 1:6 handle 3518: netem delay 500ms

运行上述命令后,再次运行nmap测试延迟

    nmap -p 22 10.11.12.13
    Host is up (0.5s latency)

然后添加过滤命令排除22端口,

sudo /sbin/tc filter add dev eth0 protocol ip parent 1: prio 0 u32 match ip sport 22 0xffff flowid 1:5 

现在再次测试延迟,

    nmap -p 22 10.11.12.13
    Host is up (0.44s latency)

延迟仅从 0.5 减少到 0.44 -> 为什么它没有像初始阶段那样完全减少(例如 0.00023s)

需要一些输入,我上面的命令有任何问题。请帮我解决这个问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...