- 19
- 0
- 约7.22千字
- 约 5页
- 2017-01-19 发布于重庆
- 举报
一個简易网络嗅探器的实现
一个简易网络嗅探器的实现
何忠龙 顾丽娜2
(1.公安海警高等专科学校计算机教研室 ; 2.装备指挥技术学院研究部 )
摘 要:本文介绍一个用C语言和网络数据包分析开发工具实现的简易网络Sniffer。
关 键 词:网络;数据包;Sniffer
1 引言
目前,已经有不少的Sniff工具软件,如Windows环境下,最富盛名的工具是Netxray和Sniffer pro,用它们在 Windows环境下抓包来分析,非常方便。在UNIX环境下如Sniffit,Snoop,Tcpdump,Dsniff er。
2 网络嗅探器程序框图
首先给出流程如图1所示。
图1 流程图
3 网络嗅探器程序实现
在c环境下编程,源码如下:
/* June 2nd,2002
* Project for graduation qualification By Bby Team 19 */
#include stdio.h
#include conio.h
//必须加路径,必须把头文件packet32.h包含进去
#include ..\..\Include\packet32.h
#include ..\..\Include\ntddndis.h
#define Max_Num_Adapter 10
// Prototypes原形
//发包
void PrintPackets(LPPACKET lpPacket);
//设备列表
char AdapterList[Max_Num_Adapter][1024];
// 主程序开始
int main()
{
//define a pointer to an ADAPTER structure设备指针
LPADAPTER lpAdapter = 0;
//define a pointer to a PACKET structure包指针
LPPACKET lpPacket;
int i;
DWORD dwErrorCode;
DWORD dwVersion;
DWORD dwWindowsMajorVersion;
//Unicode strings (WinNT)
WCHAR AdapterName[8192]; //网络适配器设备列表
WCHAR *temp,*temp1;
//ASCII strings (Win9x)
char AdapterNamea[8192]; //网络适配器设备列表
char *tempa,*temp1a;
int AdapterNum=0,Open;
ULONG AdapterLength;
char buffer[256000]; // 容纳来自驱动器的数据的缓冲区
struct bpf_stat stat;
// 获得本机网卡名
AdapterLength=4096;
printf(Packet.dll test application. Library version:%s\n, PacketGetVersion());
printf(Adapters installed:\n);
i=0;
下面这段代码是用来在不同版本下得到网络适配器名:
Win9x 和WinNT中的网卡名称是分别用ASCII和UNICODE实现的,所以首先要得到本地操作系统的版本号.:
dwVersion=GetVersion();
dwWindowsMajorVersion= (DWORD)(LOBYTE(LOWORD(dwVersion)));
这里首先用到的Packet.dll函数是PacketGetAdapterNames(PTSTR pStr,PULONG BufferSize,通常它是与驱动程序通信并被调用的第一个函数,它将返回的用户本地系统中安装的网络适配器的名字放在缓冲区pStr中;BufferSize是缓冲区的长度:
if (!(dwVersion = 0 dwWindowsMajorVersion = 4))
{ //是Windows NT
// 找不到设备列表
if(PacketGetAdapterNames(AdapterName,AdapterLength)==FALSE){
printf(Unable to retrieve the list of the adapters!\n);
return -1;
}
// 找到设备列表
temp=AdapterName;
temp1=AdapterName;
while ((
您可能关注的文档
最近下载
- 《合肥市新场景规模化应用示范行动方案(2025—2027年)》.pdf
- 标准化审查报告.doc VIP
- (新版)初级民航安全检查员资格考试题库大全-上(单选题汇总) .pdf VIP
- 2023初中毕业上卫校要多少分分数很高吗 .pdf VIP
- (新版)初级民航安全检查员资格考试题库大全-下(多选、判断题汇总).docx VIP
- H3C认证GB0-510 H3CNE-Security网络安全工程师考试题库及答案.docx VIP
- 索尼SW7600GR中文说明书.pdf
- 华三认证考试H3CNE安全 GB0-510 安全工程师考试题库(含答案).docx VIP
- 钢结构厂房水电安装施工组织方案.docx VIP
- 第1课+おじぎ+课文注音讲义 高中日语人教版第一册.docx VIP
原创力文档

文档评论(0)