首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >linux下如何基于tcp选项字段进行丢包

linux下如何基于tcp选项字段进行丢包
EN

Stack Overflow用户
提问于 2015-12-31 04:14:32
回答 1查看 694关注 0票数 0

我想根据TCP选项字段丢弃我的Linux主机的传入流量。如TCP选项30多路径TCP。如果数据包包含多路径tcp符号或选项字段30,则我Linux主机需要丢弃该连接或数据包。

我的设置是主机1 <->主机2 <->主机3。主机1通过主机2向主机3发送数据包。主机2有两个接口eth0和eth1。eth0连接主机1,eth1连接主机3。当传入的ETH0数据包包含选项字段30时,我只想取消连接或丢弃数据包。

我尝试过iptables字符串比较,但不起作用。

命令是,

代码语言:javascript
运行
复制
sudo iptables -I INPUT -j DROP -p tcp -s 0.0.0.0/0 -m string --string "Multipath TCP" --algo bm.

但上述规则不会阻止多路径TCP通过主机2 eth0,eth1发送和接收。主机2无法丢弃多路径TCP (选项字段30)流量。是否可以根据选项字段丢弃指定TCP数据包。

EN

回答 1

Stack Overflow用户

发布于 2016-01-04 18:06:19

首先,您需要在host2上的转发链中添加规则(原因是数据包不是针对host2的,不会命中输入链)。

iptables中有一个与TCP选项相匹配的选项。请尝试执行以下iptables命令:

代码语言:javascript
运行
复制
iptables -I FORWARD -p tcp --tcp-option 30 -j DROP
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34536607

复制
相关文章

相似问题

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