怎么对: 服务器在Java的插口抢劫
概要
插口抢劫允许您忽略在同一个口岸打开的服务器插口被一个不同的过程。 有对象开发一种港阻碍应用( 贫困者的防火墙)的 插口抢劫的也是几个好用法和一些坏用途。
通常操作系统不允许您打开在另一的口岸的一个服务器插口(甚至同样)应用已经打开。 有例外和例外对例外。
什么和怎么插口抢劫
通常ServerSocket被打开,无需指定对困境的一个特定IP地址。 因此插口本质上束缚对机器的所有可利用的IP地址。 这为程序员是简单的。 然而它介绍安全漏洞。 所有应用可能束缚到同一个机器的一个具体IP地址和在同一个口岸。 原始的服务器插口在剩余的口岸仍然束缚。 实质上口岸由一个具体IP地址的新应用劫机。 这是插口抢劫。
Java支持插口抢劫
开始以JDK 1.4 Java支持方法ServerSocket.setReuseAddress (布尔)。 它允许您如上所述劫持一个特定IP地址的一个口岸。 这允许您劫持服务器插口的样品代码。
代码
ServerSocket ssock =新的ServerSocket ();
ssock.setReuseAddress (真实); //魔术
ssock.bind (新的InetSocketAddress (地址, i)); //地址= IP, i =口岸
插口袜子= ssock.accept ();
//做您的与被接受的连接的事
sock.close ();
归档在 标题新闻之下, 怎么对, Java软件, 技术笔记 |
|
RSS 2.0 |
Trackback 这篇文章 |
给这篇文章发电子邮件
您可以也喜欢读 |


增加到Technorati喜爱


































2007年11月16日在4:22 pm
我尝试了这个抢劫,但是没得到它工作。
我可能束缚对仅的IP地址是localhost。
其他IP的投掷java.net.Bi ndException : 不能分配请求的地址: JVM_Bind ?
2007年11月18日在6:54上午
您的计算机是否(在哪些上您运行这个节目)有这个IP地址?
您能否砰地作声它?