用recv 函数接收数据中,我们怎么知道发送方的IP地址等消息 !

yuwen123441 2008-04-20 06:52:58
用recv 函数接收数据中,我们怎么知道发送方的IP地址等消息!
...全文
170 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
菜牛 2008-04-20
  • 打赏
  • 举报
回复
IP过滤来Hook recv,效率太低,层次太高。
arong1234 2008-04-20
  • 打赏
  • 举报
回复
recv第一个参数应该是socket句柄,对这个句柄调用getpeername就知道对方了
[Quote=引用 4 楼 yuwen123441 的回复:]
我是在做一个IP过滤的程序,用的是API HOOK写的

想在recv中进行过滤,想知道接收到的数据的IP地址,然后根据IP地址进行过滤!

但是这个IP地址要怎么知道!
[/Quote]
vc_xx 2008-04-20
  • 打赏
  • 举报
回复
如果使作recv,则你在收在数据之前就已经建立连接了,之后的recv都这建立在这个连接上的,也就是说你在connect或accept时就可以得到对方IP了
cnzdgs 2008-04-20
  • 打赏
  • 举报
回复
MSDN中查getpeername
yuwen123441 2008-04-20
  • 打赏
  • 举报
回复
我是在做一个IP过滤的程序,用的是API HOOK写的

想在recv中进行过滤,想知道接收到的数据的IP地址,然后根据IP地址进行过滤!

但是这个IP地址要怎么知道!
cnzdgs 2008-04-20
  • 打赏
  • 举报
回复
getpeername
mr.zhoux 2008-04-20
  • 打赏
  • 举报
回复
accept socket的时候往一个socketaddr指针写入了该socket的地址和端口.
量子 2008-04-20
  • 打赏
  • 举报
回复
接受数据之前你肯定要获得发送方的socket句柄或者指针吧,通过这些查找对方IP,
接受数据时主要关心发送的数据了,除非对方发送数据时把ip写在数据里。
就像你拿到一封信,从信件内容可能看不到邮寄方地址,应该在拆开信封前就可以知道的了。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧