资源简介
1)以命令行形式运行:ipparse logfile,其中ipparse是程序名, 而logfile则代表记录结果的日志文件。
2)在标准输出和日志文件中写入捕获的IP包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP地址和目的IP地址等内容。
3)能够解析不同协议数据包
4)当程序接收到键盘输入Ctrl+C时退出
代码片段和文件信息
#include
#include
#include
#include
#pragma comment(lib“ws2_32.lib“)
typedef struct _IP_HEADER //定义IP头
{
union
{
BYTE Version; //版本(前4位)
BYTE HdrLen; //IHL(后4位),报头标长
};
BYTE ServiceType; //服务类型
WORD TotalLen; //总长
WORD ID; //标识
union
{
WORD Flags; //标志(前3位)
WORD FragOff; //分段偏移(后13位)
};
BYTE TimeToLive; //生命期
BYTE Protocol; //协议
WORD HdrChksum; //头校验和
DWORD SrcAddr; //源地址
DWORD DstAddr; //目的地址
BYTE Options; //选项
}IP_HEADER;
//逐位解析IP头中的信息
void getVersion(BYTE b BYTE & version)
{
version=b>>4; //右移4位获取版本字段
}
void getIHL(BYTE bBYTE & res
- 上一篇:封装SQLITE,使用SQLITE更加方便,c++版本
- 下一篇:点云圆柱提取代码
相关资源
- 精通UNIX下C语言编程及项目实践总结与
- 加权调度算法(C语言)
- crc16几种标准校验算法及c语言代码(
- 树莓派CAN通讯(c语言)
- FTP客户端源代码C语言
- 计算机网络.第五版.谢希仁.pdf
- C语言基数排序——顺序队列实现
- 256色转灰度图(c语言)
- c语言实现一个简单的线程池(thread
- avl树的实现(c语言)
- C++ 用C语言判断文件是否存在
- c语言地空对战游戏.zip
- c语言实现水波纹显示效果.zip
- c语言打字母游戏源码.zip
- c语言使用CMakeLists.txt编译和使用静态
- 高级冒泡排序高级(c语言)
- C语言程序设计单元练习及答案pdf
- 高斯 Jordan消元法 c语言代码
- c语言练习习题附答案.doc
- 基于c语言的多功能电子表的单片机实
- 基于C语言的电压表单片机实践
- 用C语言写的一个俄罗斯方块程序
- c语言定时关机
- 八皇后 回溯算法 (C语言与c#源码)
- shell实现(c语言)
- 蛇形矩阵源码(c语言)
- c语言新手入门必备笔记
- 哈夫曼树C语言编程实现
- c语言开发规范.pdf
- 编程语言推荐系统(c语言源码)
评论
共有 条评论