吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3538|回复: 9
收起左侧

[C&C++ 转载] Windows抓包技术探讨

[复制链接]
yw450330 发表于 2020-10-22 14:10
Windows的网络抓包的方法大致以下几类:
  1、原始套接字:RAW_SOCKET
  2、网络过滤驱动:WIN_CAP、NPCAP
  3、winsock2服务提供者接口:SPI
  4、钩子技术:API HOOK
  5、数据平面开发套件:DPDK
     目前用的比较多的工具是fiddler和Wireshark,我了解的比较多的是Wireshark,使用的技术是第二种,NDIS驱动在网络层可以截获所有的网络数据,这里就不贴代码了,github上直接可以搜到源码。但这种技术几十年前就有了,到现在还一直用着,性能在我看来比较低,在千兆网速下,最多只能达到500Mbps左右,而且丢包比较严重。因此很多专业的抓包设备都会用硬件来实现,比如高速采集卡。       这里还是聊聊NDIS过滤驱动,下面贴出数据:
  速度    42.26 MB/S    54.46 MB/S     61.84 MB/S    91.85 MB/S  
  总数    801420    106856    133570    10017750  
  抓包数    801420    106856    133570    10017613  
  丢包数    0    0    0    137  
  丢包率    0.0%    0.0%    0.0%    0.0013676%  
  处理时间/秒    250     28     30     1494  
  每秒处理笔数    3206     3816     4452     6704  
  CPU使用率    3.2%+3%    3.5%+4.1%    3.7%+4.9%    3.6%+7.7%  
  说明    E5-2667 3.2G 16核 32线程  
             注意,这里是千兆网卡,对应的Mbps要乘以8。可以看到在高频数据情况下,还是有丢包的情况出现,这是不可原谅的。这里用的是WINCAP进阶版NPCAP,上层应用开辟了比较大的共享内存来memcpy保存网卡数据,理论上说已经做到极致了,瓶颈几乎都在内存拷贝的环节,两次拷贝还是比不过网卡的处理速度,丢包就丢在这里了。      难道纯粹的软件方法就不能做到不丢包么?DPDK?这个没有试过。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

tanghengvip 发表于 2020-10-22 14:15
硬件抓包有什么简单好用的方案吗?
cacuts 发表于 2020-10-22 15:22
yls258 发表于 2020-10-22 15:36
v.n.lee 发表于 2020-10-22 16:11
还有路由器抓包
andrang 发表于 2020-10-22 16:23
学习一下,膜拜大佬
RagnarokRay 发表于 2020-10-22 16:43
学习下,谢谢分享
feiyu361 发表于 2020-10-22 16:54
楼主在说的是绿盟的一款抓包机?
luxuryang 发表于 2020-10-23 09:19
楼主在说的是绿盟的一款抓包机?
 楼主| yw450330 发表于 2020-10-23 10:29
tanghengvip 发表于 2020-10-22 14:15
硬件抓包有什么简单好用的方案吗?

慕雷电子的高速采集卡,问题是贵
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 23:45

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表