科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件一个简易网络嗅探器的实现

一个简易网络嗅探器的实现

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文介绍一个用C语言和网络数据包分析开发工具实现的简易网络Sniffer

作者:何忠龙 顾丽娜 来源:ahcit 2007年10月28日

关键字: Linux

  • 评论
  • 分享微博
  • 分享邮件
 网络嗅探器程序实现

  在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;
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章