在vc程序中怎样获取icmp差错报文,以及怎样得到ip的原始包,高手帮忙,多谢!
解决方案 »
- GraphEdit插入设备Filter 出错!!!!!!!!!!!!!!!!
- 求音频波形处理控件,类似于cooledit的功能
- ActiveX按件问题。。急(大家帮忙解决一下)
- [求助]关于VC里面列表框显示不出来的问题!!
- 关于WMP控件问题!
- visual studio 与 MSDN的集成?
- SDK问题 急
- win2003server在启动时提示找不到cp_936.nls文件
- 哪里来的struct HBRUSH__* ??
- ******* 怎样用程序通过串口向打印机发送命令? *******
- 请问如何将SDI转变为MDI
- 请教一个问题!!在2000下用什么命令可以启动命令提示符窗口(dos窗口)并在此窗口下执行一个文件!!
2.通过更低层的驱动获取网卡数据,这样就连更底层的数据都可以获取了,更不用说IP层了。
以上方法在网上都有不上范例,可自己去找。
typedef struct _ICMP_HEADER //定义ICMP首部
{
BYTE i_type; //8位类型
BYTE i_code; //8位代码
USHORT i_cksum; //16位校验和
}ICMP_HEADER;
typedef struct _IP_HEADER
{
__u8 h_lenver;//4位首部长度+4位IP版本号
__u8 tos;//8位服务类型TOS
__u16 tot_len;//16位总长度(字节)
__u16 id;//16位标识
__u16 frag_off;//3位标志位
__u8 ttl;//8位生存时间 TTL
__u8 protocol;//8位协议 (TCP, UDP 或其他)
__u16 check;//16位IP首部校验和
__u32 saddr;//32位源IP地址
__u32 daddr;//32位目的IP地址
}IP_HEADER;
用NDis可以连802.3以太网帧甚至其他IPX和AppleTalk都一起抓过来