社区
网络编程
帖子详情
raw socket WIN2K SNIFFER 接收IP包完全否的问题。。
ajiva
2004-04-20 03:05:49
在接收线程里面
char buf [1000];
int nret = recv(buf ,1000,...);
是否每次接收的 都是一个完整的包???
或者是完整的多个包
或者是几个包,但是最后一个包不完整???
同样的
用的SELECT 方式呢?
...全文
84
4
打赏
收藏
raw socket WIN2K SNIFFER 接收IP包完全否的问题。。
在接收线程里面 char buf [1000]; int nret = recv(buf ,1000,...); 是否每次接收的 都是一个完整的包??? 或者是完整的多个包 或者是几个包,但是最后一个包不完整??? 同样的 用的SELECT 方式呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lu_zi
2004-04-25
打赏
举报
回复
我只知道在驱动一级ndis上,得到包是一个一个完整的包,当然是说完整的数据包,而不是完整的数据,对于socket,如果你采用的是同步方式,得到的包仍然很可能是完整的数据包,但是如果你采用的是异步的方式得到,这我就不太清楚了,但我觉得应该是一个完整数据包,但不一定应该说大多数时候都不是完整的数据
df8327
2004-04-23
打赏
举报
回复
rawsocket一次应该能接受一个完整的IP包,至于TCP包,碰到过长的可能会被他拆分,具体的过程我也不是很清楚,不过你可以找一个嗅探器看看数据包是什么样子,也许有帮助
ajiva
2004-04-20
打赏
举报
回复
TCP/IP我还是比较熟悉的,也知道那个不可能一次就把数据收到的,
要怎么接收头,再等待接收数据,截取有效的。。。保留下次的。。
这个RAW SOCKET 我今天接收了,但是不知道是否正确
我还在验证。
先获取包长度,再比较接收到的数据长度。。。
。。。
楼上的能给点建议吗?谢谢
月吻长河
2004-04-20
打赏
举报
回复
像你这样做不能保证每次接收的是一个完整的包。
如果你对TCP/IP不熟悉最好不要用Raw Socket,使用类库较好
但从学习知识的角度用Raw Socket很有意思
用
Raw
Socket
实现的
Sniffer
的C++Builder源程序
用
Raw
Socket
实现的
Sniffer
的C++Builder源程序,c++,源程序,
sniffer
利用
raw
socket
仿sinffer
利用
raw
socket
进行局域网的数据的监听
VC++制作一个
Sniffer
实例
VC++制作一个
Sniffer
实例 含说明及代码。
简单
sniffer
的源代码
简单的
sniffer
软件的源代码,代码中详细的说明了
sniffer
的原理以及实现。
sniffer
code it for capture
IP
package from ethernet
网络编程
18,358
社区成员
64,186
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章