Windows 相当于 Linux 的 /dev/tcp

Windows 相当于 Linux 的 /dev/tcp

在 Linux 中,可以使用/dev/tcp 设备文件。这很有用,例如,当需要从非常基本的 Linux 安装(没有 Telnet、没有 SSH、没有浏览器等)下载文件或向远程主机发送消息时。

我在 Windows 中寻找等效方法。我知道使用 Telnet,网猫甚至电源外壳有一些连接到远程服务器的可能性。然而,我正在寻找一种无需安装和/或下载某些东西且无需 Telnet 和 Powershell 的解决方案(因为这些不一定安装在可用位置,具体取决于 Windows 版本和当前用户的权限)。

是否可以在不使用 Telnet 或 Powershell 且不使用外部程序的情况下在 Windows 中发送和接收网络消息?如果可以,怎么做?

答案1

Linux 没有 /dev/tcp。该路径完全在 Bash 中模拟 - 请注意,它仅适用于重定向,而不能作为独立路径参数。

因此,如果你可以依赖 Linux 上的 Bash shell(并非所有发行版都自带),那么你同样可以依赖 Windows 上的 PowerShell(随所有现代 Windows 系统提供)。

也就是说,在 PowerShell 脚本出现之前,Windows Scripting Host 可以运行 JScript 和 VBScript(以及可选的 Perl),并可以访问 COM/ActiveX 对象。虽然它没有使用原始套接字的能力,但它能够发出 HTTP 请求,例如在 StackOverflow 上演示

Dim objHTTP
Set objHTTP = CreateObject("MSXML2.XMLHTTP")
objHTTP.open "GET", "https://stackoverflow.com/a/6840598", false
objHTTP.send 
WScript.Echo objHTTP.responseText

(这实际上是 Web JavaScript 的起源XMLHttpRequest,因此 API 看起来很相似。)

带有 VBScript 的 WSH 仍然是每个 Windows 系统的一部分,因为它驱动了相当多的标准工具(例如 Windows 激活许可证管理工具slmgr.vbs)。

相关内容