网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
利用“侦听-转发”程序破译网管协议
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
e ServerSocket !");

   }

  else

    AfxMessageBox("Can not new ServerSocket !");

 }

 

void CChatDlg::Send(BOOL ToServer, unsigned char* buf, int buf_len)

 {

  if(ToServer)

   {

    if(pServerSocket != NULL)

     {

      if(pServerSocket->SendTo(buf, buf_len, SNMP_SOCKET_PORT, m_ServerAddress)==SOCKET_ERROR)

        AfxMessageBox("Error: fail to send data to server !");

     }

   }

  else

   {

    if(pClientSocket != NULL)

     {

      if(pClientSocket->SendTo(buf, buf_len, m_ClientPort, m_ClientAddress)==SOCKET_ERROR)

        AfxMessageBox("Error: fail to send data to client !");

     }

   }

 }

  注意:m_ServerAddress是交换机的IP地址,要事先在CChatDlg的OnInitDialog函数或其他地方设定。

  最后,要处理接收到的来自于交换机的UDP包,将其中的数据在Output窗口中按每行10个的格式显示出来,然后调用CChatDlg的Send函数将其转发给网管程序。这在CServerSocket类的OnReceive虚函数中实现:

 

void CServerSocket::OnReceive(int nErrorCode)

 {

  CSocket::OnReceive(nErrorCode);

  unsigned char tmp[MAXTMPSIZE];

  int i;

  int RecNum;

  RecNum = Receive(tmp, MAXTMPSIZE);

  if(RecNum > 0)

   {

    TRACE("Received from server, %d bytes:\n", RecNum);

    for(i=0; i<RecNum; i++)

     {

      if(i%10==0)

        TRACE("\n%5d,", tmp[i]);

      else

        TRACE("%5d,", tmp[i]);

     }

    TRACE("\n\n");

    pDlg->Send(false, tmp, RecNum);

   }

  else

   {

    i = GetLastError();

    TRACE("RecNum = %d, GetLastError() = %d\n", RecNum, i);

    AfxMessageBox("Error: fail to Receive from server!");

   }

 }

  以上就是本程序的主要功能部分,其中有一些变量因篇幅原因未作详细解释,但不影响对程序的理解。

三, 运行过程

  分别在两台机器上装上本程序和网管程序,将它们连上交换机,先运行本程序,点Listen按钮,然后运行网管程序。一般的网管程序运行时,需要设置被管设备的IP的地址,此时,要将其设为本程序所在机器的IP地址,使网管程序将所有的SNMP包发给本程序

  之后两程序应能正确运行(如果不行,可能要将上述过程多重复几次。),在Output窗口可以看到数据源源不断地显示出来,这真是对网管过程的真实记录!当数据量足够后,结束本程序,可以看到网管程序界面上显示出“设备已断开连接!”的提示信息。然后可以将Output窗口中的数据拷贝到文本文件中,按照SNMP的格式和编码规则进行详细分析,网管协议就由此慢慢地破解出来了。

  以上程序在Visual C++ 6.0下编译通过并运行成功,实践效果很好。

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号