网管信息窃听方法及C+ + 实现

网管信息窃听方法及C+ + 实现

ID:38142024

大小:168.92 KB

页数:4页

时间:2019-05-26

网管信息窃听方法及C+ + 实现_第1页
网管信息窃听方法及C+ + 实现_第2页
网管信息窃听方法及C+ + 实现_第3页
网管信息窃听方法及C+ + 实现_第4页
资源描述:

《网管信息窃听方法及C+ + 实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第2卷第1期空 军 工 程 大 学 学 报(自然科学版)Vol.2No.12001年2月JOURNALOFAIRFORCEENGINEERINGUNIVERSITY(NATURALSCIENCEEDITION)Feb.2001X网管信息窃听方法及C++实现孙金萍, 雷英杰, 赵学军(空军工程大学导弹学院,陕西三原 713800)摘 要:网管信息十分复杂,其范围也十分广泛,这势必容易造成漏洞,威胁到网管信息的安全,通过研究多种网络交换机的内部网管信息结构,从安全威胁方面入手,着重介绍在VisualC++610下用MFCSocket类编写程序,实现网管信息窃听的一种方法。关键词:计算机网络

2、;信息窃听;C++;Socket编程中图分类号:TP274文献标识码:A文章编号:100923516(2001)0120066204在网络软件产品开发过程中,往往需要研究多种以太网交换机(又称智能集线器)的内部网管信息结构,为此,必须编写出一个“窃听”程序,把网管程序和交换机的通讯内容记录下来加以分析。本文介绍在VisualC++610下用MFCSocket类编写程序,实现上述目的的一种方法。1 基本原理目前标准的网络管理程序与支持网管的网络设备之间大多采用标准的SNMP进行通讯。SNMP是一种高层协议,建立于UDPöIP之上。通讯双方按照SNMP格式来传递各种网管信息和控制信息,进行

3、事件实时[1]报告或报警,从而使网络管理员能方便及时地控制网络当前的运行情况。网管信息的范围十分广泛,如网络流量,连接状态等,因被管设备的不同而不同,各厂家也依照有关的国际标准自定义自家产品的网管信[2]息。网管信息集中定义于管理信息库(MIB)中,整个体系是一个可扩展的树状结构。一条条的网管信息被[3~6]懈装在SNMP协议包内,再往下传给传输层,转成UDP包,然后通过Socket机制发送出去。本方法的基本原理是:将程序插在网管程序和被管设备之间运行,与网管程序通讯时充当被管设备,与被管设备通讯时充当网管程序,“上传下达”,同步记录,以达“窃听”之目的。2 类设计211 界面设计1)

4、用ProjectWizard产生一个支持Socket而基于对话框的MFC应用程序,其类名为CChatDlg。2)用资源编辑器在这个对话框上加上一个Listen命令按钮。接收到的所有信息将在VisualC++集成环境的Output窗口中用TRACE语句输出。在本程序中,Client指网管程序,Server指交换机。212 类CCientSocket调用ClassWizard工具生成类CClientSocket,此类衍生自CSocket类,其作用是被用于接收来自网管程序的UDP数据。在此类中定义如下类别成员和虚函数:public:BOOLmbFirst:∥自定义的类别成员;CChatDlg

5、3pDlg;∥自定义的类别成员public:virtualvoidOnReceive(intnErrorCode);X收稿日期:2000206205 作者简介:孙金萍(19752),女,陕西闫良人,硕士生,主要从事计算机网络及信息安全技术研究1©1995-2004TsinghuaTongfangOpticalDiscCo.,Ltd.Allrightsreserved.第1期孙金萍等:网管信息窃听方法及C++实现67213 类CServerSocket调用ClassWizard工具生成类CServerSocket,此类衍生自CSocket类,其作用是被用于接收来自交换机的UDP数据。在此

6、类中定义如下类别成员和虚函数:public:CChatDlg3pDlg;public:virtualvoidOnReceive(intnErrorCode);3 处理函数设计311 按钮Listen的处理函数CChatDlg::OnListen在CChatDlg类中的对象按钮Listen的处理函数CChatDlg::OnListen代码如下:VoidCChatDlg::OnListen(){pClientSocket=newCClientSocket(this);if(pClientSocket!=NULL){if(!pClientSocket->Create(SNMPSOCKETPO

7、RT,SOCKDGRAM))AfxMessageBox“(CannotcreateClientSocket!”);else::EnableWindow(GetDlgItem(IDCLISTEN)->mhWnd,FALSE);}elseAfxMessageBox“(CannotnewClientSocket!”);}注意:SNMPSOCKETPORT是自定义宏,可设为161。312 虚函数CClientSocket::OnReceivevoidC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。