获取本进程的socket

sanhill 2019-09-30 10:07:08
我有个应用,调用第三方的dll,socket链接以及send,recv之类的都被封装在这个dll里面了。这个dll对外只有高级方法,无法得到socket套接字。请问,我如何能够在程序中获取本程序的这个socket呢?
...全文
213 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanhill 2019-10-08
  • 打赏
  • 举报
回复
谢谢各位给我的建议和思路,我在网上搜了一下,能用到的方法和上面各位提到的类似。 再次感谢。
Sandrer 2019-10-01
  • 打赏
  • 举报
回复
实在不行还有个笨方法
在你的上层应用中创建一个 SOCK_RAW 类型的 socket, 然后自己解析筛选所有经过网卡的数据包
百度搜一下 SOCK_RAW, 应用方法大把
zgl7903 2019-09-30
  • 打赏
  • 举报
回复
Hook api
encoderlee 2019-09-30
  • 打赏
  • 举报
回复
1. 了解winsock的常见用法,了解创建socket都是那些API,比如:socket() WSASocket() accept() WSAAccept() 2. 使用 API Monitor 监视程序的API调用,验证猜想,确定调的是哪个API http://www.rohitab.com// 3. 确定了具体是哪个API创建的socket,比如WSASocket() 然后使用最简单易用的HOOK库 MHook https://github.com/martona/mhook Hook这个函数,获取socket
smwhotjay 2019-09-30
  • 打赏
  • 举报
回复
hook socket api
gouyanfen 2019-09-30
  • 打赏
  • 举报
回复
引用 3 楼 sanhill 的回复:
没有。 要是有接口或者方法,我就不会发帖了。
在他的函数中做inline hook 取参数,或者API HOOK,获取socket
sanhill 2019-09-30
  • 打赏
  • 举报
回复
没有。 要是有接口或者方法,我就不会发帖了。
Eleven 2019-09-30
  • 打赏
  • 举报
回复
你需要看看DLL中的接口是否有提供类似的接口返回socket句柄的~

18,356

社区成员

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

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