A进程截取了B进程的UDP封包,怎样重发出去吗?

LoveBugs 2005-06-23 09:15:19
A、B进程在同一台机器上,现在B进程发一数据包给网络上的C进程,其间,A进程记录了此数据,做出修改后,又发给C进程。

假如B进程的端口是 6000,发给C进程后,C进程用RecvFrom接受到此封包,分析到收到封包的端口是6000。但如果用A进程再发这个封包,重新创建一个Socket,端口就不能是6000,只能绑定其它端口。

请问有什么方法可以实现这种重发?

...全文
194 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
LoveBugs 2005-08-22
  • 打赏
  • 举报
回复
自己顶自己。
LoveBugs 2005-07-07
  • 打赏
  • 举报
回复
端口重用有这方面的资料没哦。找遍了。帮帮我。
zengwh 2005-06-30
  • 打赏
  • 举报
回复
ddd
qrlvls 2005-06-30
  • 打赏
  • 举报
回复
我是用SPI截取了B进程的封包,修改之后,再发给C进程。现在问题是只有重新创建套接字发送,有没有办法用B进程的套接字发送?
-----------------------------------
首先端口重用是解决不了这个问题的,SO_REUSEPORT 的说明在 MSDN 已经明确这一点
1.可以想办法将线程注入B进程来进行处理
2.注入DLL,修改导入表
3.使用NDIS/TDI驱动来完成,增加扩展的 IOCTL_CODE,这是比较官方一点的做法
前两个方法我没有现成的代码,只是提供一个参考
vicky_jam 2005-06-30
  • 打赏
  • 举报
回复
up~
softrain 2005-06-30
  • 打赏
  • 举报
回复
DuplicateSocketMSDN上怎么没有找到这个函数?
怎么会设计的这么麻烦?
为什么不让另外一个进程只是修改数据,然后还是由本进程来发送呢?
LoveBugs 2005-06-28
  • 打赏
  • 举报
回复
楼上的达人给个例子好吗?
oyljerry 2005-06-24
  • 打赏
  • 举报
回复
端口重用
rabo 2005-06-24
  • 打赏
  • 举报
回复
DuplicateSocket()
flashboy 2005-06-24
  • 打赏
  • 举报
回复
SOCKET是可以跨进程共享使用的
LoveBugs 2005-06-23
  • 打赏
  • 举报
回复
我是用SPI截取了B进程的封包,修改之后,再发给C进程。现在问题是只有重新创建套接字发送,有没有办法用B进程的套接字发送?

:(
xing_xing_xing 2005-06-23
  • 打赏
  • 举报
回复
这个,基本上,很难
qrlvls 2005-06-23
  • 打赏
  • 举报
回复
如果只是 replay attack 的话用 winpcap
如果是 online modify 的话用 SPI 或 NDIS/TDI
kingzai 2005-06-23
  • 打赏
  • 举报
回复
使用winpcap自己构造UDP头发份包试试

18,356

社区成员

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

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