社区
Linux/Unix社区
帖子详情
linux下在应用层如何修改数据包
baowp
2008-07-04 04:43:14
linux下在应用层如何修改数据包,有些什么方法呢,帮帮小妹啊,谢谢了!!!
...全文
558
13
打赏
收藏
linux下在应用层如何修改数据包
linux下在应用层如何修改数据包,有些什么方法呢,帮帮小妹啊,谢谢了!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
superman2108
2008-07-18
打赏
举报
回复
[Quote=引用 3 楼 windowsxp0925 的回复:]
了解一下pcap,它是你最快上手的方法。他的实质也是通过raw socket模式来实现的。
[/Quote]
是能实现 ,但是这这样的话,我得到了一份数据包,但是内核还是会处理原来的,怎么让内核不要处理呢????
ffflyingwolf
2008-07-16
打赏
举报
回复
如果包的应用层没有特殊的校验的话,应该可以直接改的,之后重新计算下ip头和tcp/udp头的checksum就可以了,
计算checksum的算法网上搜下就有了的
baowp
2008-07-10
打赏
举报
回复
我就是要在应用层修改一下数据包,哥哥姐姐们能帮一下我吗,谢谢了???
baowp
2008-07-09
打赏
举报
回复
我现在有一点了解了,libnet也了解了一点,现在的问题是我不会修改包,比如我抓到了一些包,得到了指向这个包的指针,比如u_char *packet,我把这个包分解出了TCP包或者UDP包,就是不知道如何修改TCP或者UDP包里面的内容,我想不能直接把包里面的东西重新赋一下值吧,是不是要通知内核丢弃这个包什么的,有什么函数吗,谢谢了,很感激!!!!
ffflyingwolf
2008-07-09
打赏
举报
回复
libnet我也没实际用过,之前用过libpacap在windows下面的版本winpcap,那里面有发包的函数可以用,但是记得libpcap是没有发包的函数的,所以应该还是需要用到libnet
看过一点libnet的文档,libnet下构造包还是挺方便的,其实你要发包出去,实际上也就是按照包的封装顺序,填好的一块buffer,然后把他发出去而已,所以改包自己改也可以的
你的包的地址,是你以太网头的源或目的地址,这个没什么问题的,因为除了一些广播包,过你网卡的大多包源/目的地址都是你自己的MAC地址啊
baowp
2008-07-08
打赏
举报
回复
谢谢楼上,我现在用libpcap抓到了一些IP包和ARP包,那是不是就用libnet来修改,然后再发送出去呢?
另外我ifconfig了一下我的机子, HWaddr为 00:0C:29:B6:E0:BE,然后我抓的那些包的源地址或者目的地址大都是
00:0C:29:B6:E0:BE,请问这有什么问题吗?谢谢了!!
baowp
2008-07-07
打赏
举报
回复
修改数据包是不是应该首先截获数据包呢?谁能回答一下我啊???
ffflyingwolf
2008-07-07
打赏
举报
回复
改包要看你的情况了,如果你已经有现成的包,那么直接发出去就是了,不用再去抓包了
如果你要动态的改,那么肯定要先抓包下来,改了再发出去的
libpcap是用来抓包的,libnet是用来用来构造包发送
baowp
2008-07-06
打赏
举报
回复
小妹我这段时间正在研究如何修改数据包,有说用netfilter,还有说用netfilter_queue什么的,更有的说是用libcap,libnet,又有说说是用netfilter中的mangle,真不知道到底是什么???
proing
2008-07-05
打赏
举报
回复
用raw socket可以的。
aSpace
2008-07-05
打赏
举报
回复
修改其它程序的数据包?
应用层不行吧?
windowsxp0925
2008-07-05
打赏
举报
回复
了解一下pcap,它是你最快上手的方法。他的实质也是通过raw socket模式来实现的。
Linux
系统高效获取
数据包
实现了基于通用
LINUX
操作系统无丢包方式获取网络
数据包
。
【
Linux
网络技术】IPv4
数据包
接收流程解析:从网卡到
应用层
的全面剖析
内容概要:本文详细解析了
Linux
系统中IPv4
数据包
接收的实现过程,涵盖从硬件网卡到内核协议栈的多个层次。文章首先介绍了网络协议栈的基础知识,包括链路层、网络层和传输层的功能及其相互协作方式。接着阐述了中断机制的作用,特别是硬中断和软中断的区别和协同工作方式。随后,重点讲解了IPv4
数据包
接收的具体流程,包括网卡接收与DMA传输、网络接口层处理、IP层处理(ip_rcv和ip_rcv_finish函数)、本地交付与转发等环节。最后,通过一段Python代码展示了如何实际捕获和处理IPv4
数据包
,帮助读者更好地理解理论知识。; 适合人群:对
Linux
网络底层机制感兴趣的系统管理员、网络工程师以及有一定编程基础的研发人员。; 使用场景及目标:①理解
Linux
系统中IPv4
数据包
接收的各个环节,包括硬件和软件层面的工作原理;②掌握通过编程接口捕获和处理IPv4
数据包
的方法;③为解决网络性能问题(如延迟高、丢包严重)提供理论和技术支持。; 其他说明:随着网络技术的发展,未来的IPv4
数据包
接收处理将面临更高要求和新挑战,如5G/6G网络带来的速度提升和网络安全问题。文章鼓励读者关注这些趋势,并期待
Linux
内核在
数据包
接收方面的持续优化。
linux
网络
数据包
处理流程
博客介绍地址:http://blog.csdn.net/u012819339/article/details/52687827
基于
Linux
系统的
数据包
截获技术研究.pdf
基于
Linux
系统的
数据包
截获技术研究.pdf
linux
内核协议栈分析
详细描述了
linux
内核协议栈的实现原理及相关数据结构,为
linux
内核协议栈分析人员提供了重要参考。
Linux/Unix社区
23,220
社区成员
74,543
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章