编一个抓取局域网内的数据帧的程序,要用到那些类,或者那些API
解决方案 »
- mfc单文档模式下如何做停靠窗口?
- 命令提示符窗口自动关闭怎么办
- 非请问我如何获取用CreateProcess启动的进程的HINSTANCE?
- send message和post menssage的区别
- 如何将CString转成UNICODE?
- 请问:在FormView里面如何使用CPropertySheet?并且如何使ProperySheet注满FormView页面?
- 本地多个进程调用EXE形式的COM,有什么办法控制COM的创建与注销?
- com中指针定义
- MFC控件的按钮图标在win7下模糊
- 一个想法!
- 请教:如何改变Tab control控件的按钮的大小和字体??急!!!
- ListView control在ICON 风格下,如何使得其能记下每个Icon的位置?
The information in this article applies to: --Microsoft Windwos NTx --- Microsoft Windwos 9x --WinPcap: the Free Packet Capture Architecture for Windows
简述:
监听网络上的所有数据,是一个比较有趣的题目。流传比较广的一些监听程序,它们都使用了一个更加著名的开发包Packet32。比如,ntsniff、EthernetSpy、ntpacket等,还有赫赫有名的WinPcap。应用程序通过它可以设置网卡的工作模式,直接在网卡上读写数据,等等。 一般使用的Packet32的实现版本,是微软的Packet32.c和Packet32.h。这个版本写得比较简单。 WinPcap开发包中自带的Packet32,是Politecnico di Torino重写的,增加了许多错误处理,而且注释翔实,值得一读。 在http://winpcap.polito.it/default.htm中,WinPcap开发包被描述为:WinPcap is an architecture for packet capture and network analysis for the Win32 platforms. It includes a kernel-level packet filter, a low-level dynamic link library (packet.dll), and a high-level and system-independent library (wpcap.dll, based on libpcap version 0.6.2). 下面就给出Packet32这个实现版本的说明,仿照Microsft SDK的风格。 内容依次为:Packet32包的内容Packet32包中的函数 PacketGetAdapterNames PacketOpenAdapter等Packet32包中的数据结构 例子1:用Packet32设置网卡为混杂模式,监听所有的数据包。 Packet32包的内容
Packet驱动:Oemsetup.inf安装信息文件、Packet.sys系统文件,在利用Packet32包开发网络监控程序前,需要用这两个文件安装Packet驱动。Packet32程序开发库:Packet32.lib静态链接库、 Packet32.dll动态链接库,用户可以通过调用库中的函数直接对网卡进行操作。Packet32包中的函数说明:
No.1. PacketGetAdapterNames(从注册表中读取网卡名)
得到现有的网络适配器的列表和它们的描述。 BOOLEAN PacketGetAdapterNames( PTSTR pStr, PULONG BufferSize ); Parameters:
pStr: [in , out] 一块用户负责分配的缓冲区,将把适配器的名字填充进去。 BufferSize: [in] pStr这块缓冲区的大小。 Return Values:
如果查询成功,返回一个非零值。
后面省略,可以自己查阅相关资料