Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在linux内核中丢弃tcp数据包而不能一次又一次地收到?

如何在linux内核中丢弃tcp数据包而不能一次又一次地收到?
EN

Stack Overflow用户
提问于 2011-03-25 16:55:21
回答 3查看 1.7K关注 0票数 2

我想更改linux内核代码以过滤一些tcp数据包并丢弃它。

但我总是一次又一次地收到它。下面是我的代码

/net/ipv4/tcp_ipv4.c

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb)
{
// my code start
struct iphdr *iph;
iph = skb->nh.iph;

if(iph->ttl > 64) // I want to drop all tcp packet that meet this requirement
{
   return 0;
}
// my code end


// start normal linux code
  if(sk->sk_state == TCP_ESTABLISHED) { /* Fast path */
...
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-25 19:02:03

正如@nos所说,TCP是可靠的,因此另一端将重新传输丢弃的数据包。您需要发送RST或ICMP错误(可能是主机无法到达或被管理禁止)来断开连接。

另外,请注意,您已经造成了内存泄漏,您需要负责在丢弃skb时释放它们。

票数 2
EN

Stack Overflow用户

发布于 2011-03-25 18:48:25

iptables有一个ttl模块,可以按ttl过滤:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
iptables –A INPUT -m ttl --ttl-gt 65 –j DROP
票数 1
EN

Stack Overflow用户

发布于 2011-03-25 19:06:40

如果您真的想这样做,您可以修改代码以发送对数据包的确认,但将其丢弃。我并不推荐这样做。

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

https://stackoverflow.com/questions/5435598

复制
相关文章
面试官:换人!他连 TCP 这几个参数都不懂
TCP 性能的提升不仅考察 TCP 的理论知识,还考察了对于操作系统提供的内核参数的理解与应用。
小林coding
2020/06/16
1.4K0
服务器开发中网络数据分析与故障排查经验漫谈
一、 操作系统提供的网络接口 为了能更好的排查网络通信问题,我们需要熟悉操作系统提供的以下网络接口函数,列表如下: 接口函数名称接口函数描述接口函数签名socket创建套接字int socket(int domain, int type, int protocol);connect连接一个服务器地址int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);send发送数据ssiz
范蠡
2018/04/04
1.5K0
服务器开发中网络数据分析与故障排查经验漫谈
如何提升TCP四次挥手的性能?
这时求职者紧张的心终于平静了,因为面试官没有深入下去的意思,继续问下去可能也不懂,皆大欢喜!当然本次面试基本上也就 game over了。
程序员小王
2022/01/11
8610
如何提升TCP四次挥手的性能?
基础总结(网络篇)
注: 此系列内容来自网络,未能查到原作者。感觉不错,在此分享。不排除有错误,可留言指正。
fliter
2023/06/18
2210
基础总结(网络篇)
麻了,被字节问懵逼了!
之前有个读者在秋招面试的时候,被问了这么一个问题:SYN 报文什么时候情况下会被丢弃?
小林coding
2021/12/27
5940
麻了,被字节问懵逼了!
服务器开发中网络数据分析与故障排查经验谈
为了能更好的排查网络通信问题,我们需要熟悉操作系统提供的以下网络接口函数,列表如下:
范蠡
2020/03/20
1.2K0
CentOS下iptables官方手册整理 原
————————————————————————————————————————————————
拓荒者
2019/03/11
1.4K0
服务器网络问题分析之丢包
网络数据传输:数据帧传输,由网卡读取并放入设备缓冲区ring buffer,当网络数据包到达的速率快于内核处理的速率时,ring buffer很快会被填满,新来的数据包将被丢弃。
WindWant
2020/09/10
4.4K0
Linux 网络层收发包流程及 Netfilter 框架浅析
本文作者:sivenzhang,腾讯 IEG 测试开发工程师 1. 前言 本文主要对 Linux 系统内核协议栈中网络层接收,发送以及转发数据包的流程进行简要介绍,同时对 Netfilter 数据包过滤框架的基本原理以及使用方式进行简单阐述。 内容如有理解错误而导致说明错误的地方,还请指正。如存在引用而没有添加说明的,也请及时告知,非常感谢! 2. 基础网络知识 2.1 网络分层模型 OSI 模型中将网络划分为七层,但在目前实际广泛使用的 TCP/IP 协议框架体系内,我们一般将网络划分为五层,从
腾讯技术工程官方号
2019/12/03
5.7K0
Linux 网络层收发包流程及 Netfilter 框架浅析
Linux服务器性能评估与优化(五)--内核参数
之前文章《Linux服务器性能评估与优化(一)》太长,阅读不方便,因此拆分成系列博文:
黄规速
2022/04/14
4.2K0
Cilium架构 (Cilium 2)
译自:http://docs.cilium.io/en/stable/architecture/
charlieroro
2020/04/24
2.3K0
Cilium架构 (Cilium 2)
iptables学习笔记
本篇文章作为本人的iptables学习笔记,断断续续写了好几天,今天终于写完了,自己可以在虚拟机或者docker容器里操作一下,下面是正文:
没有故事的陈师傅
2019/07/27
5910
【网络协议】万文长篇,带你深入理解 TCP;场景复现,掌握鲜为人知的细节(下)
当客户端想和服务端建立 TCP 连接的时候,首先第一个发的就是 SYN 报文,然后进入到 SYN_SENT 状态。
sidiot
2023/08/31
6880
【网络协议】万文长篇,带你深入理解 TCP;场景复现,掌握鲜为人知的细节(下)
java tcp数据包_java tcp封装成数据包【相关词_ tcp数据包处理java】
2-1.数据序号32位,TCP为发送的每一个字节都编一个号码,这里存储当前数据包数据第一 包括 网络编程结构数据JavaTCPIP的信息,所有JAVA网络编程:TCP/IP数据包结构相关内
全栈程序员站长
2022/08/01
8360
java tcp数据包_java tcp封装成数据包【相关词_ tcp数据包处理java】
零侵入性的云原生监控方案:网易伏羲私有云基于 eBPF 的云原生网络可观测性探索与实践
作者 | 石钟浩、张龙 策划 | 凌敏   近年来,由于 eBPF 在 Linux 内核级别灵活的可编程性、安全性等优势,在云原生网络、安全和可观测性等方面应用广泛。eBPF 可以在不侵入任何业务代码的基础上实现云原生应用的可观测性。但是 eBPF 对 Linux 内核版本是有一定要求的(4.14 以上),伏羲私有云部分生产集群的内核版本比较低,升级内核会影响大量线上应用,成本太高。 而 kindling 正好在基于 eBPF 实现云原生可观测性能力的基础上,借助内核模块技术在低版本 Linux 内核上实
深度学习与Python
2023/04/30
9390
零侵入性的云原生监控方案:网易伏羲私有云基于 eBPF 的云原生网络可观测性探索与实践
iptables防火墙原理知多少?
1. netfilter与iptables Netfilter是由Rusty Russell提出的Linux 2.4内核防火墙框架,该框架既简洁又灵活,可实现安全策略应用中的许多功能,如数据包过滤、数据包处理、地址伪装、透明代理、动态网络地址转换(Network Address Translation,NAT),以及基于用户及媒体访问控制(Media Access Control,MAC)地址的过滤和基于状态的过滤、包速率限制等。Iptables/Netfilter的这些规则可以通过灵活组合,形成非常多的功
小小科
2018/05/04
1.3K0
iptables防火墙原理知多少?
Iptables防火墙规则使用梳理
iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。在日常Linux运维工作中,经常会设置iptables防火墙规则,用来加固服务安全。以下对iptables的规则使用做了总结性梳理: iptables首先需要了解的: 1)规则概念 规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储
洗尽了浮华
2018/01/23
3.8K0
Iptables防火墙规则使用梳理
硬不硬你说了算!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题
不管面试 Java 、C/C++、Python 等开发岗位, TCP 的知识点可以说是的必问的了。
小林coding
2020/05/18
7580
硬不硬你说了算!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题
一文带你搞定TCP连接队列
服务器收到客户端SYN数据包后,Linux内核会把该连接存储到半连接队列中,并响应SYN+ACK报文给客户端。
shysh95
2021/12/21
1.3K0
一文带你搞定TCP连接队列
研发:使用dropwatch观察内核丢弃数据
dropwatch:摘自Linux内核精髓
heidsoft
2018/10/18
1.7K0
研发:使用dropwatch观察内核丢弃数据

相似问题

linux内核丢弃UDP数据包

35

如何防止TCP数据包被丢弃?

21

如何防止Linux内核响应传入的TCP数据包?

15

Linux网络堆栈何时丢弃接收到的RTP数据包?

10

内核丢弃的sendto()数据包

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文