阅读:1634回复:8
关于抓包的问题(thank you)
各位高手:我现在要写一个程序,它要求把经过网卡的所有包都抓下来,请问这个工作的工作量会有多大(以时间衡量)?同时,期待你能够给我一些实现方法的建议,比如如何实现,需要的参考资料什么。非常感谢!
|
|
沙发#
发布于:2003-07-11 09:59
吼吼,直接用passthru 就可以拉。所有通过网卡的数据(混杂模试下)的数据都通过ptreceive和ptreceivepacket这两个函数
|
|
|
板凳#
发布于:2003-07-11 14:56
也许他要做抓别的机器之间通信的包呢?那还要修改些东西啊
|
|
地板#
发布于:2003-07-11 16:03
也许他要做抓别的机器之间通信的包呢?那还要修改些东西啊 passthru难到抓不到别的机器的包吗?? //在ETHERLAN中,本身所有数据没台机器都能收到 |
|
|
地下室#
发布于:2003-07-14 11:19
把网卡设成混杂模式就可以抓取局域网内所有的数据包了。
|
|
5楼#
发布于:2003-07-14 14:39
如果只想抓所有的包,不用写驱动程序吧,用winsock就可以,只要把套接字的属性设置成混合模式就行了吧,
|
|
6楼#
发布于:2003-07-14 17:23
[quote]也许他要做抓别的机器之间通信的包呢?那还要修改些东西啊 passthru难到抓不到别的机器的包吗?? //在ETHERLAN中,本身所有数据没台机器都能收到 [/quote] 没有想到还有人和我抬杠的:) 我的意思是,如果单讲原理方面,那还要把机器设成混杂模式, 如果讲实现方面,那么他既然抓了包,还要把他需要的显示到应用层程序中吧,那么又有和应用层通信的问题,而且这只要在一个平台上运行吗?如果要多平台,那么各平台间具体实现又不一样. 其实每一个工程,要做到非常好,很难挑剔,那么都不是那么容易的.包括最简单的\"HELLO WORLD\" |
|
7楼#
发布于:2003-07-15 08:21
[quote][quote]也许他要做抓别的机器之间通信的包呢?那还要修改些东西啊 passthru难到抓不到别的机器的包吗?? //在ETHERLAN中,本身所有数据没台机器都能收到 [/quote] 没有想到还有人和我抬杠的:) 我的意思是,如果单讲原理方面,那还要把机器设成混杂模式, 如果讲实现方面,那么他既然抓了包,还要把他需要的显示到应用层程序中吧,那么又有和应用层通信的问题,而且这只要在一个平台上运行吗?如果要多平台,那么各平台间具体实现又不一样. 其实每一个工程,要做到非常好,很难挑剔,那么都不是那么容易的.包括最简单的\"HELLO WORLD\" [/quote] 接受楼上的教导! 偶不是台杠啊 :D :D :D 而是从\"也许他要做抓别的机器之间通信的包呢?那还要修改些东西啊 \" 这句话中,看不到,你上面所说的那些意思. |
|
|
8楼#
发布于:2003-07-15 22:11
如果单纯抓包的话用winpcap就好了,还有源代码,自己想怎么改就怎么改
如果是hub建的局域网当然可以抓到所有包,可是现在越来越多单位用交换机了,所以单纯设置混杂模式不行。这就是目前我的工作,嘿嘿,主要就是改winpcap让它实现透明转发,暂时不考虑效率 |
|