zhongguozhu3
驱动牛犊
驱动牛犊
  • 注册日期2003-03-08
  • 最后登录2004-06-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1634回复:8

关于抓包的问题(thank you)

楼主#
更多 发布于:2003-07-10 20:23
各位高手:我现在要写一个程序,它要求把经过网卡的所有包都抓下来,请问这个工作的工作量会有多大(以时间衡量)?同时,期待你能够给我一些实现方法的建议,比如如何实现,需要的参考资料什么。非常感谢!
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-07-11 09:59
吼吼,直接用passthru 就可以拉。所有通过网卡的数据(混杂模试下)的数据都通过ptreceive和ptreceivepacket这两个函数
放弃瘟草,现吃李草
Quakexg
驱动小牛
驱动小牛
  • 注册日期2001-11-21
  • 最后登录2012-02-29
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望56点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-07-11 14:56
也许他要做抓别的机器之间通信的包呢?那还要修改些东西啊
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-07-11 16:03
也许他要做抓别的机器之间通信的包呢?那还要修改些东西啊

passthru难到抓不到别的机器的包吗??
//在ETHERLAN中,本身所有数据没台机器都能收到
放弃瘟草,现吃李草
beckhamwu
驱动牛犊
驱动牛犊
  • 注册日期2003-04-09
  • 最后登录2003-08-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-07-14 11:19
把网卡设成混杂模式就可以抓取局域网内所有的数据包了。
hsdjl
驱动小牛
驱动小牛
  • 注册日期2002-09-29
  • 最后登录2009-01-19
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望4点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-07-14 14:39
如果只想抓所有的包,不用写驱动程序吧,用winsock就可以,只要把套接字的属性设置成混合模式就行了吧,
Quakexg
驱动小牛
驱动小牛
  • 注册日期2001-11-21
  • 最后登录2012-02-29
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望56点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-07-14 17:23
[quote]也许他要做抓别的机器之间通信的包呢?那还要修改些东西啊

passthru难到抓不到别的机器的包吗??
//在ETHERLAN中,本身所有数据没台机器都能收到 [/quote]

没有想到还有人和我抬杠的:)
我的意思是,如果单讲原理方面,那还要把机器设成混杂模式,
如果讲实现方面,那么他既然抓了包,还要把他需要的显示到应用层程序中吧,那么又有和应用层通信的问题,而且这只要在一个平台上运行吗?如果要多平台,那么各平台间具体实现又不一样.
其实每一个工程,要做到非常好,很难挑剔,那么都不是那么容易的.包括最简单的\"HELLO WORLD\"
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-07-15 08:21
[quote][quote]也许他要做抓别的机器之间通信的包呢?那还要修改些东西啊

passthru难到抓不到别的机器的包吗??
//在ETHERLAN中,本身所有数据没台机器都能收到 [/quote]

没有想到还有人和我抬杠的:)
我的意思是,如果单讲原理方面,那还要把机器设成混杂模式,
如果讲实现方面,那么他既然抓了包,还要把他需要的显示到应用层程序中吧,那么又有和应用层通信的问题,而且这只要在一个平台上运行吗?如果要多平台,那么各平台间具体实现又不一样.
其实每一个工程,要做到非常好,很难挑剔,那么都不是那么容易的.包括最简单的\"HELLO WORLD\" [/quote]

接受楼上的教导!
偶不是台杠啊 :D :D :D
而是从\"也许他要做抓别的机器之间通信的包呢?那还要修改些东西啊 \"
这句话中,看不到,你上面所说的那些意思.
放弃瘟草,现吃李草
dshadow79
驱动牛犊
驱动牛犊
  • 注册日期2002-09-29
  • 最后登录2006-04-10
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-07-15 22:11
如果单纯抓包的话用winpcap就好了,还有源代码,自己想怎么改就怎么改

如果是hub建的局域网当然可以抓到所有包,可是现在越来越多单位用交换机了,所以单纯设置混杂模式不行。这就是目前我的工作,嘿嘿,主要就是改winpcap让它实现透明转发,暂时不考虑效率
游客

返回顶部