请问怎样能读取两个连接之间发送的数据呢..

[复制链接]
查看11 | 回复0 | 2009-1-30 06:28:38 | 显示全部楼层 |阅读模式
假如有两个软件用tcp/ip协议连接..我想知道这两个软件之间都发送了什么信息..请问怎么做呢。用VB的最好~如果无法实现那C++的也行..

                                                                                                1、用现成软件:你所需要的东西叫做“协议分析器”软件。黑客一般叫做“嗅探器”。比较著名的是sniffer.另外还有很多比较著名的完全免费的此类软件,比如:ethereal等等。你可以到网上搜索下载。其中ethereal软件的下载地址是:http://www.ethereal.com , 可以解析几百种协议。2、自己编写:一般的协议分析器工作原理是在操作系统的网络协议栈中把网卡设置成“混杂模式”。在此种模式下,网卡会接受MAC地址和自己不同的报文并上传给上一层协议。有现成的软件库可以实现这一功能,比如:LIBPCAP。上面的ethereal就是基于它做的。在Windows上要下载winpcap库才可以。这个库是面向C语言的接口的,还比较容易使用,我在Linux上很轻松的实现了监听网络报文的程序,Windows上没有用过,但API应该是一样的。VB应该可以直接调用C的DLL,如果不方便,你可以写一个C的小程序调用Winpcap,然后再用VB调用这个小程序。另外注意的是,监听报文一定要在共享网络(HUB)上实现,现在常用的交换网络是不容易监听到另外两台机器的通信的,除非你把协议分析器按装在其中一台参与通信的机器上。够详细吗?可以给分吗?嘿嘿。。。                                       
提问者对答案的评价:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行