如何将数据包的内容显示出来?(BCB实现)
利用原始套接字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




