CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  网络及通讯开发

如何将数据包的内容显示出来?(BCB实现)

楼主zhuangbin(zhuang)2005-04-04 17:43:24 在 C++ Builder / 网络及通讯开发 提问

 
  利用原始套接字RAW-SOCKET截获数据包,  
   
  如何将数据包的内容显示出来?  
   
  最好给出程序. 问题点数:60、回复次数:10Top

1 楼icwin(www.cat898.com.cn)回复于 2005-04-04 21:55:42 得分 0

upTop

2 楼3996906(我只是建议,不提供最后的解决方法)回复于 2005-04-04 23:40:19 得分 0

markTop

3 楼happyct(绿叶对大树的情怀)回复于 2005-04-05 09:20:52 得分 0

谁的数据包?如果不是自己的,而又加密过的话,最起码你得先把他解密了吧?  
  你这个问的也太笼统了Top

4 楼3996906(我只是建议,不提供最后的解决方法)回复于 2005-04-05 09:24:58 得分 0

如果是自己机器上去出的,有没有办法?Top

5 楼happyct(绿叶对大树的情怀)回复于 2005-04-05 09:47:21 得分 5

这个我也没经验,只不过看人家做过而已,截取下来的数据包,不只是单纯的数据信息了,还包含有   IP头,TCP头等信息头的最原始的数据信息,这些信息保留了它在网络传输时的原貌。  
   
          通过对这些在低层传输的原始信息的分析可以得到有关网络的一些信息。由于这些数据经过了网络层和传输层的打包,因此需要根据其附加的帧头对数据包进行分析。(转载)Top

6 楼happyct(绿叶对大树的情怀)回复于 2005-04-05 09:51:09 得分 5

找了一下,希望能对你有帮助  
   
  http://www.hacker.com.cn/article/list.asp?id=3194Top

7 楼zhuangbin(zhuang)回复于 2005-04-06 14:24:08 得分 0

多谢大家的帮助!  
  我的意思是说用利用原始套接字如先建立一个套接字,再将网卡设置成混杂模式,就可从局域网上捕获一个原始的数据包,如何将整个数据包的内容显示出来.可以不对包头等信息进行分析,只要将该数据包中的原始信息显示出来即可.Top

8 楼dargons(祝福后山)回复于 2005-04-06 14:36:14 得分 50

你可以参考一下网上关于嗅探器实现方面的程序.  
  如下面是建立套接字的一段程序,你可以看一下:  
           
          WSADATA WSAData;  
          BOOL         flag         =   true;  
          int           nTimeout   =   1000;  
          char         LocalName[16];  
          struct     hostent   *pHost;  
   
          //检查   Winsock   版本号  
          if   (WSAStartup(MAKEWORD(2,   2),   &WSAData)   !=   0)  
                  throw   Exception("WSAStartup   error!");  
   
          //初始化   Raw   Socket  
          if   ((MainForm->sock   =   socket(AF_INET,   SOCK_RAW,   IPPROTO_IP))   ==   INVALID_SOCKET)  
                  throw   Exception("初始化   Raw   Socket失败!");  
   
          //设置IP头操作选项  
          if   (setsockopt(MainForm->sock,   IPPROTO_IP,   IP_HDRINCL,   (char*)&flag,   sizeof(flag))   ==   SOCKET_ERROR)  
                  throw   Exception("设置IP头操作选项失败!");  
   
          //获取本机名  
          if   (gethostname((char*)LocalName,   sizeof(LocalName)-1)   ==   SOCKET_ERROR)  
                  throw   Exception("获取本机名失败!");  
   
          //获取本地   IP   地址  
          if   ((pHost   =   gethostbyname((char*)LocalName))   ==   NULL)  
                  throw   Exception("获取本地IP地址失败!");  
   
          MainForm->addr_in.sin_addr         =   *(in_addr   *)pHost->h_addr_list[0];   //IP  
          MainForm->addr_in.sin_family     =   AF_INET;  
          MainForm->addr_in.sin_port         =   htons(2005);  
   
          //把   sock   绑定到本地地址上  
          if   (bind(MainForm->sock,   (PSOCKADDR)&MainForm->addr_in,   sizeof(MainForm->addr_in))   ==   SOCKET_ERROR)  
                  throw   Exception("bind   error!");  
  Top

9 楼zhuangbin(zhuang)回复于 2005-04-07 09:24:13 得分 0

希望大家多多帮助!!Top

10 楼zhuangbin(zhuang)回复于 2005-04-08 15:42:21 得分 0

请大家帮忙,分数不够还可以再加!!!Top

相关问题

  • 如何用VC实现接收广播数据包???
  • 请教:如何用vb实现网络数据包监听
  • 请问怎样用winsock实现拦截udp数据包
  • 如何在UNIX/LINUX下实现数据包拦截?
  • 【如何】简单的实现〖数据包〗过滤
  • 如何实现HOOK抓取程序数据包??
  • 如何显示我这个内存数据包中的数据?
  • 抓取并显示网络数据包的方法
  • 我想截获网络上的数据包,怎么实现? 局欲网的~~~~
  • 网络传输中的数据包校验问题——如何实现“和校验”???

关键词

  • 内容
  • 数据
  • 信息
  • socket
  • 网络
  • ip
  • 数据包
  • 原始
  • 内容显示
  • 头

得分解答快速导航

  • 帖主:zhuangbin
  • happyct
  • happyct
  • dargons

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo