当前位置: 技术问答>linux和unix
[问题]关于linux下拦截数据包并予以修改的问题(相当win下HOOKapi拦截封包)
来源: 互联网 发布时间:2016-02-26
本文导语: 关于linux下拦截数据包并予以修改的问题(相当win下HOOKapi拦截封包) 已查了google baidu 大量的文章才敢在此发题,因为经过两天查找答案,实在无所收获 [实际问题] 有一个for linux的应用程序 AAA[示例(无源代码)],AAA...
关于linux下拦截数据包并予以修改的问题(相当win下HOOKapi拦截封包)
已查了google baidu 大量的文章才敢在此发题,因为经过两天查找答案,实在无所收获
[实际问题]
有一个for linux的应用程序 AAA[示例(无源代码)],AAA是一款服务端软件[TCP],要将它recv()得到的数据包进行修改。
具体的,感觉和win下网络游戏外挂的原理有点相似,但是在linux下如何做就不知道了。
[试过办法]
用netfilter 的Mangle 拦截数据包~~~但是貌似只能拦截数据包,不能进行修改
PS:
在win下可以用SPI,HOOKAPI,winpcap~等等多种方法来进行实现~~可到了linux下就不知该怎么办了。我在这里没分,所以没的送分,只求好心人能帮忙看看这个问题,如果还有什么没说清楚的地方敬请见谅~~~本人不习惯问人问题,喜欢自己查资料寻找问题答案~~~本次实在没招了,不得以之下而为之~~~
已查了google baidu 大量的文章才敢在此发题,因为经过两天查找答案,实在无所收获
[实际问题]
有一个for linux的应用程序 AAA[示例(无源代码)],AAA是一款服务端软件[TCP],要将它recv()得到的数据包进行修改。
具体的,感觉和win下网络游戏外挂的原理有点相似,但是在linux下如何做就不知道了。
[试过办法]
用netfilter 的Mangle 拦截数据包~~~但是貌似只能拦截数据包,不能进行修改
PS:
在win下可以用SPI,HOOKAPI,winpcap~等等多种方法来进行实现~~可到了linux下就不知该怎么办了。我在这里没分,所以没的送分,只求好心人能帮忙看看这个问题,如果还有什么没说清楚的地方敬请见谅~~~本人不习惯问人问题,喜欢自己查资料寻找问题答案~~~本次实在没招了,不得以之下而为之~~~
|
用netfilter的话应该要将数据取出来,拷贝到另外的一个缓存中,然后将原数据报丢弃,构建自己的数据报发送出去应该是可以的.另外好像在netfilter的中,tcp的数据报的内容是不能修改的,但是udp的是却不能的,以前也被这个问题搞得稀里糊涂的,查资料也没有查到,但是我自己实验的结果却是这样.
|
不知道你到底向修改什么? 有些是不能改的。 既然拦截到了,把能改的修改了 再继续传不可以么
|
libpcap和libnet,你查查相关资料.
|
iptables的mangle是可以修改tcp的数据包的,但是要明白,修改TCP包要有很多特殊的考虑的,可以参考FTP的ALG的实现,它就会改数据包的内容