在Windows/Linux下程序指定IP地址

Windows/Unix* 系统都支持为一个网卡绑定多个IP地址,但是通常操作系统会根据路由表自动选择IP地址,应用程序使用哪个IP地址用户无法主动控制。本文分别讲解在Linux和Windows下为应用程序绑定指定IP地址的方法。 关于Windows如何选择IP地址可以参考这篇文章:《Source IP address selection on a Multi-Homed Windows Computer》 一、 如何让Linux下的程序指定使用的IP地址 英文原文:《BINDING APPLICATIONS TO A SPECIFIC IP》 作者Daniel Ryde采用了LD_PRELOAD进行HACK,为应用程序注入一个动态库bind.so,这个动态库中对bind和connect函数加钩子,程序建立socket连接前绑定指定的本地IP地址。 使用方法: Hessian:bind/ $ BIND_ADDR=”192.168.8.9″ LD_PRELOAD=./bind.so YOUR_PROGRAME 程序源码可从这里下载 编译方法: Hessian:bind/ $ gcc -nostartfiles -fpic -shared bind.c -o bind.so -ldl -D_GNU_SOURCE Hessian:bind/ $ strip bind.so 二、 如何让Windows下的程序指定使用的IP地址 在Windows实现这个功能要相对麻烦一些,博主没有找到十分简单的办法,找了很久才发现这个高大上的东西——ForceBindIP – Bind any Windows application to a specific […]

在Windows/Linux下程序指定IP地址

相关文章:

你感兴趣的文章:

标签云: