阅读:6801回复:7
怎样截获一个网络数据包并修改后发送出去?
我现在正在做一个截获网络数据包然后修改后发送出去的程序
但是现在我陷入了迷茫不知道用什么方法可以实现它,不知道那位大侠可以给点建议 我使用的平台是windows xp,我在该主机上装了两个网卡,目的是想用它做为网关实现 数据转发,我的程序就是想在截获它转发的数据对它的数据包头作一些修改,主要是想加入一些 可以提高QOS的参数,修改后将它按照原来的地址发送出去 我知道很多程序方法都可以实现数据包的截获,但是在截获后再进行修改我就不会了 不知道哪位好心人能给我点建议,我真的是为了这个东西郁闷坏了 |
|
沙发#
发布于:2008-08-18 17:17
去NDIS开发板块,你应该能找到答案
|
|
板凳#
发布于:2008-08-23 01:45
这个容易,一个简单的API HOOK就可以啊,数据修改后,将它发送到对应的socket句柄。
socket可以在send函数中和截获到的数据绑定起来。 |
|
地板#
发布于:2008-09-19 15:06
如果你只是想截获而又不破坏原来的数据包的话,就用 NDIS Protocol driver 吧,Iris就是这样做的。
|
|
地下室#
发布于:2008-09-21 16:48
别误导人家,,数据包修改 直接改数据就得了.
注意几点: 1:协议要搞清楚 2:记得要校验 |
|
5楼#
发布于:2009-03-20 21:51
是否可以尝试改ttl值作为发送数据?感觉方便点
|
|
6楼#
发布于:2009-05-12 23:33
我只知道 NDIS可以做~~
|
|
7楼#
发布于:2010-01-18 11:13
用NDIS做比较好,可以截获所有数据包。可以采用微软的WDK开发包,修改Passthru就可以实现这个功能
|
|
|