问题标签 [loopback]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何让套接字仅接受来自本地主机的连接(在 Java 中)?
我有一个 java 应用程序(不在任何应用程序容器中运行),它在 ServerSocket 上侦听连接。我希望它只接受来自本地主机的连接。目前,在接受连接后,它会检查对等 IP,如果它不是环回地址,则拒绝它,但我知道对等 IP 地址可以被欺骗。所以,如果可能的话,我宁愿绑定到一个只监听环回接口的套接字;这可能吗?
我尝试了一些不同的方法(例如在调用 bind() 时将“127.0.0.1”指定为本地地址),但都没有成功。提前致谢。
谢谢大家的帮助。我很尴尬地承认这都是我的错。我们的应用程序监听两个不同的端口,我将一个绑定到环回接口,但对另一个进行测试。当我真正尝试远程登录到正确的端口时,一切正常(即绑定到“127.0.0.1”完全符合它的预期)。
至于欺骗环回地址,你们是对的。我不应该让它听起来像主要关注点。确实,所需的行为是只接受本地连接,并且只绑定到本地接口是一种比接受所有连接然后关闭非本地连接更直接的方法。
windows - 环回接口上的 TIME_WAIT
为什么与环回接口的 TCP 连接最终会出现TIME_WAIT
(套接字关闭并SO_DONTLINGER
设置),但与不同主机的相同连接不会结束TIME_WAIT
(它们会立即重置/销毁)?
以下是用于说明的场景:
(A) 两个应用程序,一个客户端和一个服务器,都在同一台 Windows 机器上运行。客户端通过服务器的loopback接口(127.0.0.1,端口xxxx)连接服务器,发送数据,接收数据,关闭socket(SO_DONTLINGER
设置)。
假设连接非常短暂,因此客户端应用程序每秒都在建立和销毁大量连接。最终结果是套接字最终在 中TIME_WAIT
,并且客户端最终耗尽了它的最大套接字数(在 Windows 上,默认情况下约为 3900,我们假设此值不会在注册表中更改)。
(B) 与场景 (A) 相同的两个应用程序,但服务器在不同的主机上(客户端仍在 Windows 上运行)。这些连接在各方面都是相同的,只是它们的目的地不是 127.0.0.1,而是其他一些 IP。这里客户端机器上的连接不会进入TIME_WAIT
,客户端应用程序可以无限期地继续建立连接。
为什么会出现差异?
asp.net - 安装 Oracle 和环回适配器后无法访问 localhost/iis
最近我安装了 Oracle 和所需的 Microsoft Loopback Adaptor,效果很好。但是,这似乎以某种方式搞砸了 IIS(或至少它与 Visual Studio 的交互)。我无法再连接到 localhost 或 127.0.0.1,我什至无法在 Visual Studio 2008 中打开 Web 项目(以前可以正常工作),出现错误“本地 IIS URL http://localhost/MyProject为 Web 项目指定 MyProject 尚未配置。要打开此项目,需要配置虚拟目录。您要现在创建此目录吗?我点击是,然后它给出了一个错误,它“在当前机器上找不到服务器http://localhost ”。
IIS 正在运行,我可以连接到默认的 IIS 网站和 localhost:1122 上的 inetput/wwwroot 的其他内容。
我试图禁用环回适配器并注释掉我需要添加到主机以使 Oracle 工作的行,虽然这阻止了 Oracle 工作,但它对 IIS/localhost 没有帮助。
编辑:事实证明,这是通过从备份中恢复项目来解决的,所以它一定是项目本身的某种问题。
java - java中的ip地址
如果我在大学,我被要求激活一段代码。所以我需要找到与我的大学 iP 相匹配的 iP。想知道如何在java中做到这一点?我已经尝试过环回接口。
asp.net - Windows 7上的本地主机问题
我正在使用 Windows 7 Pro 并想在本地运行我的 web 项目,但 urlwww.localhost.com
不起作用。
如果使用http://127.0.0.1:2710/default.aspx
它工作。我检查了文件夹中的主机文件C:\Windows\System32\Drivers\Etc\hosts
。如果我删除行:
没有什么变化。如何让 www.localhost.com 在我的机器上工作?
localhost - Microsoft 环回适配器的用途是什么?
正如问题所说,什么是 Microsoft Loopback Adapter,作为奖励,作为开发人员,它对哪些场景有用?我注意到在我的机器上安装几个应用程序时需要它,但除了猜测之外,我从来没有对它的功能有过深刻的理解。
我在网上阅读了几篇文章,但没有什么真正让我“明白”。虽然我不需要一个非常复杂的答案,但稍微解释一下会非常有用。
谢谢!乔治
linux - linux上的软件串口环回
目前我需要开发一些程序,将通过串行线路与思科设备进行通信。我想在我的开发 linux 机器上构建测试环境。所以,我找到了dynamips cisco emulator。该仿真器可以通过带有“-U /dev/ttyS0”选项的串行线提供接口。好吧,这会导致 dynamips 打开硬件串行端口并通过它进行通信。我可以使用 minicom 等串行客户端从另一台 linux 机器连接到这个硬件串行端口。
但是,由于我在两台 linux 机器上都使用了 virtualbox,所以我通过 virtualbox 功能链接串行端口以将串行端口转发到命名管道。该方案似乎有效,但非常多余。我正在寻找一种在单个 linux 机器上运行 dynamips 和 minicom 的方法。
我发现伪终端在我的情况下可能很有用。但我尝试使用“-U /dev/ptmx”运行 dynamips,然后与 minicom 连接以创建 /dev/pts/... 端口,反之亦然。在这两种情况下,我都有输入/输出错误。
asp.net - 为什么我不能向 localhost 上的 ASP.NET 开发服务器发出 http 请求?
我有一个 ASP.NET 项目(Windows 7 上的 VS2008,带有 webforms、MVC1 或 MVC2——对我来说都是相同的结果),它只是 File->New hello world web 项目。它使用默认的 ASP.NET 开发服务器,当我用 F5 启动服务器时,浏览器永远不会连接,并且我得到了超时。我试图在它运行时通过远程登录到开发服务器的端口来调试它,我得到了相同的结果:
我可以在系统托盘中看到服务器认为它正在运行,并且一个netstat -a -n
命令显示该端口上确实有一个活动的 TCP 侦听器。
这在不远的过去是有效的,我可以使用开发服务器处理 Web 项目。从那以后发生的一件事是我安装了 Microsoft Loopback Adapter以适应本地开发 Oracle 安装。我不确定这是不是问题,但它似乎是罪魁祸首。
我还尝试使用服务器名称本身 ( http://mycomputername:54752
) 来访问端口,但结果相同。
那么,是什么阻止我连接?如果它是环回,那么有什么好方法可以让我保持连接到我的开发 Oracle 服务器的能力,同时仍然能够使用 ASP.NET 开发服务器?
linux - linux:禁用使用环回并通过线路在一个comp的2个eth卡之间发送数据
我有一个带有 2 个 eth 卡的 comp,用跳线连接(从 1 到 2 的直接 eth 电缆)。
安装了linux,我想将数据从第一个网卡发送到第二个。我想强制数据包通过电缆传递。我可以在卡上设置任何 ip。
随着 ping 我得到卡上的计数器不变。
tcp/ip 套接字可以吗?
PS。我需要编写一个程序。它将通过 eth 发送数据包,因此与 stackoverflow 相关的问题。可能有一些依赖于操作系统的方式,它们也会帮助我