77范文网 - 专业文章范例文档资料分享平台

sniffer技术原理及应用,包括编程方法和工具使用(3)

来源:网络收集 时间:2019-08-26 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

private: // User declarations

AnsiString __fastcall GetProtocolTxt(int Protocol); public: // User declarations SOCKET sock; SOCKADDR_IN addr_in; IP ip; TCP tcp;

PSUHDR psdHeader;

char RecvBuf[BUFFER_SIZE]; bool bStop; int iSortDirection; int iColumnToSort;

__fastcall TMainForm(TComponent* Owner); __fastcall ~TMainForm(); };

//--------------------------------------------------------------------------- extern PACKAGE TMainForm *MainForm;

//--------------------------------------------------------------------------- #endif

偷了个懒, IP, TCP 头及一些宏定义用了 netmon.h 的头, 这个文件在 BCB6 的 include 目录下可以找得到, 其中与本程序相关内容如下:

//*************************************************************************// //* Header File: netmon.h

//*************************************************************************// //

// IP Packet Structure

//

typedef struct _IP { union {

BYTE Version; BYTE HdrLen; };

BYTE ServiceType; WORD TotalLen; WORD ID; union {

WORD Flags; WORD FragOff; };

BYTE TimeToLive; BYTE Protocol; WORD HdrChksum; DWORD SrcAddr; DWORD DstAddr; BYTE Options[0]; } IP;

typedef IP * LPIP;

typedef IP UNALIGNED * ULPIP; //

// TCP Packet Structure //

typedef struct _TCP {

WORD SrcPort; WORD DstPort; DWORD SeqNum; DWORD AckNum; BYTE DataOff; BYTE Flags; WORD Window; WORD Chksum; WORD UrgPtr; } TCP;

typedef TCP *LPTCP;

typedef TCP UNALIGNED * ULPTCP; // upper protocols

#define PROTOCOL_STRING_ICMP_TXT \#define PROTOCOL_STRING_TCP_TXT \#define PROTOCOL_STRING_UDP_TXT \#define PROTOCOL_STRING_SPX_TXT \#define PROTOCOL_STRING_NCP_TXT \

#define PROTOCOL_STRING_UNKNOW_TXT \ 这个文件也有人声称没有.

//*************************************************************************// //* Header File: mstcpip.h

//*************************************************************************// // Copyright (c) Microsoft Corporation. All rights reserved. #if _MSC_VER > 1000 #pragma once #endif

/* Argument structure for SIO_KEEPALIVE_VALS */ struct tcp_keepalive { u_long onoff; u_long keepalivetime; u_long keepaliveinterval; };

// New WSAIoctl Options

#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1) #define SIO_RCVALL_MCAST _WSAIOW(IOC_VENDOR,2) #define SIO_RCVALL_IGMPMCAST _WSAIOW(IOC_VENDOR,3) #define SIO_KEEPALIVE_VALS _WSAIOW(IOC_VENDOR,4) #define SIO_ABSORB_RTRALERT _WSAIOW(IOC_VENDOR,5) #define SIO_UCAST_IF _WSAIOW(IOC_VENDOR,6) #define SIO_LIMIT_BROADCASTS _WSAIOW(IOC_VENDOR,7) #define SIO_INDEX_BIND _WSAIOW(IOC_VENDOR,8) #define SIO_INDEX_MCASTIF _WSAIOW(IOC_VENDOR,9) #define SIO_INDEX_ADD_MCAST _WSAIOW(IOC_VENDOR,10) #define SIO_INDEX_DEL_MCAST _WSAIOW(IOC_VENDOR,11) // Values for use with SIO_RCVALL* options #define RCVALL_OFF 0 #define RCVALL_ON 1

#define RCVALL_SOCKETLEVELONLY 2

现在我们自已的 Sniffer 就做好了, Run, Start......哇, 这么多数据包, 都是从这一台机器上发出的, 它在干什么? 原来 Adminstrator 密码为空, 中了尼姆达病毒!

六. 小结

优点: 实现简单, 不需要做驱动程序就可实现抓包.

缺点: 数据包头不含帧信息, 不能接收到与 IP 同层的其它数据包, 如 ARP, RARP...

这里提供的程序仅仅是一个 Sniffer 的例子, 没有对数据包进行进一步的分析. 写此文的目的在于熟悉Raw Socket 编程方法, 了解 TCP/IP 协议结构原理以及各协议之间的关系.

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库sniffer技术原理及应用,包括编程方法和工具使用(3)在线全文阅读。

sniffer技术原理及应用,包括编程方法和工具使用(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/687965.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: