[发明专利]一种在使用虚拟网卡的Windows主机上绑定源IP的方法有效
申请号: | 201210587692.5 | 申请日: | 2012-12-28 |
公开(公告)号: | CN103905302B | 公开(公告)日: | 2017-06-06 |
发明(设计)人: | 赵亚;掌晓愚;韩洪慧;叶寒 | 申请(专利权)人: | 上海格尔软件股份有限公司 |
主分类号: | H04L12/70 | 分类号: | H04L12/70;H04L12/741 |
代理公司: | 上海天翔知识产权代理有限公司31224 | 代理人: | 刘粉宝 |
地址: | 200070 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种在使用虚拟网卡的Windows主机上绑定源IP的方法,该方法使用Windows的LSP技术动态的截获发往虚拟网卡的数据包,将其源IP地址设定为一个非虚拟网卡的IP地址。该方法可以在不修改应用程序的情况下为数据包绑定源IP地址。 | ||
搜索关键词: | 一种 使用 虚拟 网卡 windows 主机 绑定 ip 方法 | ||
【主权项】:
一种在使用虚拟网卡的Windows主机上绑定源IP的方法,其特征在于,所述方法使用Windows的LSP技术动态的截获发往虚拟网卡的数据包,将其源IP地址设定为一个非虚拟网卡的IP地址;所述方法通过在LSP中实现socket处理流程、bind处理流程、connect处理流程、sendto处理流程以及closesocket处理流程,以此来完成源IP的绑定;所述socket处理流程包括如下步骤:(1a)在LSP中创建socket;(2a)将创建的socket关联到一个socket跟踪链表表项,该链表项用于指示一个数据包是否需要绑定一个源IP地址;所述bind处理流程包括如下步骤:(1b)在LSP中查询socket跟踪链表表项;(2b)查看相应的bind地址参数是否为0;若为0,转入步骤(4b);若不为0,转入步骤(3b);(3b)调用原生bind逻辑;(4b)更新socket跟踪链表表项,为该socket的后续数据包指示需要绑定源IP地址;所述connect处理流程包括如下步骤:(1c)查询socket跟踪链表表项;(2c)若查找到相应的表项,则调用NeedBind例程,该NeedBind例程的逻辑为判断是否需要为数据包绑定一个源IP地址;(3c)通过调用NeedBind例程来判断数据包是否需要绑定源IP地址,若需要,则转入步骤(4c);若不需要,则转入步骤(5c);(4c)调用LSP中实现的bind处理流程;(5c)调用原生connect;所述sendto处理流程包括如下步骤:(1d)查询socket跟踪链表表项;(2d)若查找到相应的表项,则调用NeedBind例程,该NeedBind例程的逻辑为判断是否需要为数据包绑定一个源IP地址;(3d)通过调用NeedBind例程来判断数据包是否需要绑定源IP地址,若需要,则转入步骤(4d);若不需要,则转入步骤(5d);(4d)调用LSP中实现的bind处理流程;(5d)调用原生sendto;所述closesocket处理流程包括如下步骤:(1e)查询socket跟踪链表表项;(2e)若查找到相应的表项,则删除该socket跟踪链表表项;(3e)调用原生closesocket。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海格尔软件股份有限公司,未经上海格尔软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210587692.5/,转载请声明来源钻瓜专利网。
- 上一篇:一种手术室用清创护理架
- 下一篇:一种内科手术托架