免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2405 | 回复: 9
打印 上一主题 下一主题

socket 到底能不能收到数据包内容呢? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-01-09 14:30 |只看该作者 |倒序浏览
我知道通过sock_raw可以截获数据包。
通过定义ip和tcp结构可以得到数据包中的某些信息如源地址,目的地址,协议和端口等等。
可以通过这种方式如何才能读取到数据包的内容呢?
使用 recv(m_socket, RecvBuf, sizeof(RecvBuf), 0)这种方式数据包的内容是不是已经在buffer中了呢?如果是,那我怎么才能将数据读取出来?

论坛徽章:
0
2 [报告]
发表于 2004-01-09 17:20 |只看该作者

socket 到底能不能收到数据包内容呢?

奇怪,你这个recv()已经接收到了buffer(也就是你的这个RecvBuf),并且存到变量RecvBuf中了,为什么还说读不出数据呢?

论坛徽章:
0
3 [报告]
发表于 2004-01-09 17:31 |只看该作者

socket 到底能不能收到数据包内容呢?

[quote]原帖由 "lonemoon"]奇怪,你这个recv()已经接收到了buffer(也就是你的这个RecvBuf),并且存到变量RecvBuf中了,为什么还说读不出数据呢?[/quote 发表:


可是我怎么样才能将数据读取出来那?(我是指包中所要传送的内容)
不好意思不是很熟,希望给个思路先

论坛徽章:
0
4 [报告]
发表于 2004-01-09 18:09 |只看该作者

socket 到底能不能收到数据包内容呢?

直接访问RecvBuf变量啊~,不过不知道你到底啥意思

论坛徽章:
0
5 [报告]
发表于 2004-01-10 00:57 |只看该作者

socket 到底能不能收到数据包内容呢?

[quote]原帖由 "杭州小子"]直接访问RecvBuf变量啊~,不过不知道你到底啥意思[/quote 发表:


我不知道我表述的是不是清楚,我知道所有的数据已经收入到buffer中,这些数据包括原地之,目的地址,端口信息等等。除此之外还包括真正的“数据信息”

我得意思是如何将这些“数据信息”提取出来?

论坛徽章:
0
6 [报告]
发表于 2004-01-10 10:53 |只看该作者

socket 到底能不能收到数据包内容呢?

自己解包,要不然就不要用SOCK_RAW

论坛徽章:
0
7 [报告]
发表于 2004-01-10 22:38 |只看该作者

socket 到底能不能收到数据包内容呢?

[quote]原帖由 "fieryfox"]自己解包,要不然就不要用SOCK_RAW[/quote 发表:

我知道要自己解包,可是不知道什么方式,能说个思路么

论坛徽章:
0
8 [报告]
发表于 2004-01-11 00:06 |只看该作者

socket 到底能不能收到数据包内容呢?

原帖由 "kule" 发表:

我知道要自己解包,可是不知道什么方式,能说个思路么


recv();读出来的就是你接收到的数据,不需要解包,除非你收到的是结构
才需要解包

论坛徽章:
0
9 [报告]
发表于 2004-01-11 11:49 |只看该作者

socket 到底能不能收到数据包内容呢?

根据不同的协议解析数据包。自己看看ethereal的实现吧。

论坛徽章:
0
10 [报告]
发表于 2004-01-11 13:00 |只看该作者

socket 到底能不能收到数据包内容呢?

谢谢 大家
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP