到底可不可以截获数据包的问题

时间:2022-10-05 08:33:32
首先声明,是截获,而不是捕获!
需要截获本机发出和收到的数据包,是基于PPP连接的,看了众多朋友的贴子,好像都是工作在网络层的捕获数据包,libpcap和Winpcap可以做到,但是WinPcap只能够工作在局域网,对于ppp连接暂时作用不了!libpcap在unix下工作,不再windows平台下!看来截获是好像只能够在链路层才能够做到这一点,用NDIS实现,但是太复杂了,不知道还有什么办法吗?

19 个解决方案

#1


只能在链路层实现拦截,唯有改驱动程序或加入hook之内的东西到内核中

#2


写一个 dll 调用 改名的 winsock32.dll ,然后将此dll 改名为winsock32.dll

#3


to 贴主:winpcap确实只能在局域网上使用,难道你知道有什么其它的好东东??

#4


to wolfsquare(狼平方):
那你这个程序怎么分发?

#5


应该可以用在PPP上吧,以下是Winpcap开发人员的回答
Q-4: Can I use WinPcap on a PPP connection?

A: We have tested WinPcap on PPP connections under Windows 95, Windows 98 and Windows ME. In Windows 95, due to a bug in NDIS, WinPcap sometimes resets the PPP connection. In Windows 98/ME this bug appears to be corrected, and WinPcap seems to work properly. Under Windows NT and Windows 2000 there are problems with the binding process, that prevents a protocol driver from working properly on the WAN adapter.

#6


我问过winpcap作者,他说不能block packet, 要实现你可以出钱,他来写。

#7


关注

#8


gzz

#9


有点乱,wolfsquare(狼平方) 兄所说的好像较为简单一点,不过好像winsock32.dll提供的接口中没有写操作,是否可以这样做:自定义的winsock32.dll在接受调用之后,用另外一个进程来进行数据操作,之后在调用原来的winsock32.dll?

#10


如果不行的话,那么天网防火墙怎么实现截获数据报的?

#11


天网使用vxd驱动的

#12


没错,我现在也准备写一个驱动程序。没办法!极为关注!

#13


关注

#14


我up

#15


up!@

#16


这个问题继续讨论下去嘛!

#17


看这些ddk文档都快头晕了,突然又一个新想法,可不可以自己做一个网关程序,程序的功能是实现替代本机的路由表,让数据都发到这个网关程序去,然后在这个网关程序的缓冲中进行更改ip,然后转发给原来的网关程序,数据就可以继续发送了?!!

#18


你是不是做个人防火墙,不是的话就可以用代理!不用包过滤!

#19


我是做数据包转发器

#1


只能在链路层实现拦截,唯有改驱动程序或加入hook之内的东西到内核中

#2


写一个 dll 调用 改名的 winsock32.dll ,然后将此dll 改名为winsock32.dll

#3


to 贴主:winpcap确实只能在局域网上使用,难道你知道有什么其它的好东东??

#4


to wolfsquare(狼平方):
那你这个程序怎么分发?

#5


应该可以用在PPP上吧,以下是Winpcap开发人员的回答
Q-4: Can I use WinPcap on a PPP connection?

A: We have tested WinPcap on PPP connections under Windows 95, Windows 98 and Windows ME. In Windows 95, due to a bug in NDIS, WinPcap sometimes resets the PPP connection. In Windows 98/ME this bug appears to be corrected, and WinPcap seems to work properly. Under Windows NT and Windows 2000 there are problems with the binding process, that prevents a protocol driver from working properly on the WAN adapter.

#6


我问过winpcap作者,他说不能block packet, 要实现你可以出钱,他来写。

#7


关注

#8


gzz

#9


有点乱,wolfsquare(狼平方) 兄所说的好像较为简单一点,不过好像winsock32.dll提供的接口中没有写操作,是否可以这样做:自定义的winsock32.dll在接受调用之后,用另外一个进程来进行数据操作,之后在调用原来的winsock32.dll?

#10


如果不行的话,那么天网防火墙怎么实现截获数据报的?

#11


天网使用vxd驱动的

#12


没错,我现在也准备写一个驱动程序。没办法!极为关注!

#13


关注

#14


我up

#15


up!@

#16


这个问题继续讨论下去嘛!

#17


看这些ddk文档都快头晕了,突然又一个新想法,可不可以自己做一个网关程序,程序的功能是实现替代本机的路由表,让数据都发到这个网关程序去,然后在这个网关程序的缓冲中进行更改ip,然后转发给原来的网关程序,数据就可以继续发送了?!!

#18


你是不是做个人防火墙,不是的话就可以用代理!不用包过滤!

#19


我是做数据包转发器

#20