问题标签 [windows-networking]

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.

0 投票
1 回答
743 浏览

docker - Windows Docker 容器没有 NAT IP 地址。无法在本地访问容器

首先要明确的是,我的 docker 容器在NetworkSettings.Networks.bridge. 那个IP是172.17.0.2

http://172.17.0.2:3000/但是,在运行容器后我无法访问容器docker run -p 3000:3000 node:8.10.0

我的研究表明它在 Windows 上本地与 docker 一起工作很粗糙。按照这个简短的指南:https ://blog.sixeyed.com/published-ports-on-windows-containers-dont-do-loopback/

我遇到使用网络 NAT IP 地址。我看到这里推荐了几个地方。但我的那部分docker inspect根本不存在。它返回:

如您所见,NAT 部分完全丢失。我在网上找不到任何提及为什么或如何解决的内容。我希望它丢失会是一件好事,并使其更容易连接。唉,事实并非如此。任何帮助表示赞赏。这是码头文件:

0 投票
1 回答
91 浏览

c# - 为什么必须在 UWP 中使用 StreamSocketListener 而不是 TcpListener,尽管 UWP 是 .NET Core 的子集,而 TcpListener 在 UWP 中可用?

正如这里这里所提到的,TcpListener 的使用在 UWP 中是不可能的。相反,必须使用 StreamSocketListener。

但是经过比较长时间的研究,我不明白为什么?

由于 UWP 实际上是 .NET Core 的子集,因此在 UWP 中也应该可以使用 TcpListener!

只是为了测试,我什至创建了一个 UWP 项目,尝试在代码中使用 System.Net.Sockets.TcpListener 并没有问题。我没有编写完整的代码,也没有尝试运行服务器,只是尝试从 UWP 项目中引用 System.Net.Sockets.TcpListener,这是可能的。这也难怪,因为即使根据 Microsoft 文档(https://docs.microsoft.com/en-us/dotnet/api/system.net.sockets.tcplistener?view=netcore-1.0),该类也可以从 .NET 开始使用核心 1.0。

0 投票
1 回答
168 浏览

linux - 如何使wsl响应广播ping请求

我正在使用 WSL 来运行 ROS 命令,并且在某个时候我必须使系统能够响应广播 icmp 请求(对于多主机类型的设置),即在 linux 上我必须确保

猫 /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

返回 0。但 WSL 不包含这样的文件,所以我想在 Windows 上启用它。我经历过的所有来源都建议我向防火墙添加一条规则,但即使我的系统防火墙已关闭,我的系统也没有响应广播 ping(域、私有和公共已被关闭,我的好友不是同一个网络)。我正在使用 android 手机的移动热点来检查这一点。

如果有人可以帮助我,那就太好了。
提前致谢。

0 投票
0 回答
161 浏览

boost-asio - boost tcp async_connect() 有时无法连接到同一 LAN 上的服务器,直到重新启动 Windows

我们的 Windows 客户端应用程序通过如下函数连接到同一 LAN 上的服务器boost::asio::ip::tcp::socket::async_connect

偶尔,而且非常随机,无论客户端重新启动多少次,一个客户端都无法访问服务器。唯一的解决方案是重新启动工作站(Windows 7 或 10)。鉴于客户端和服务器位于同一个 LAN 上,并且 LAN 上的其他客户端能够连接到服务器,我不知道这种间歇性故障的原因。可能是一些被缓存的本地路由吗?如果是这样,我可以在终端中运行一个命令来刷新路由或释放适当的系统资源。

0 投票
1 回答
327 浏览

windows - 连接到 Windows VM 上的共享文件夹

设置

VMWare 视窗服务器 2012

  • IP 192.168.101.160
  • 在 Linux 主机上运行,​​但 Networktype 'bridged'(Linux 主机 IP 不同)
  • 网络:
    • 共享文件夹 'C:\test',共享为 '\\MOBIL\test' 并在 Network/MOBIL 中可见
    • 其他计算机:只有主机及其共享文件夹可见,我的 Windows 10 笔记本电脑不可见
  • 在 :80 / :443 上运行 HTTP(S) 服务器
  • 远程桌面连接已激活
  • 连接到 WLAN 'my_home'
  • Windows 用户:随机管理员帐户

我的笔记本电脑 Windows 10

  • 可以对 VM 执行 RDP
  • 可以调用http(s)://192.168.101.106
  • 网络:
    • 无法解析 \\192.168.101.106 或 \\192.168.101.106\test 或 \\MOBIL\test
    • “MOBIL”计算机未在网络中列出
  • 连接到 WLAN 'my_home'
  • Windows 用户:我的个人帐户

问题

如何在没有远程桌面的情况下从我的 Windows 10 机器访问 VM 上的“测试”文件夹?

(我想运行一个脚本,自动将文件从我的计算机复制到 VM 文件夹。到目前为止,我已经通过将网络文件夹映射到驱动器 Z:/ 来完成此操作,然后只复制文件,因为我无法使用 SSH密钥文件)

0 投票
1 回答
367 浏览

windows - 如何在 Windows 中启用 ICMP 服务?

它默认启用,但是我不能说它没有启用,因为

  1. 防火墙已禁用
  2. ping 127.0.0.1 超时。我明白了

互联网似乎工作得很好

如果你用谷歌搜索“在 Windows 中启用 icmp”,你得到的只是如何在防火墙上打开一个端口,但这假设你的 icmp 守护程序/服务已启用,但你如何启用它呢?

0 投票
1 回答
63 浏览

c++ - 是否有 Windows 用户空间功能来枚举连接的网络共享?

我正在编写一个 Win32 应用程序,我需要知道当前连接的网络文件共享是什么。例如,\ip-addr\share-name\ 或 \Device\Mup\ip-addr\share-name\

该解决方案不能涉及安装驱动器。

我尝试了 WNetOpenEnum,但这给了我空的本地名称和“Web 客户端网络”的远程名称,而不是我需要的。

我正在使用连接的 Samba 共享进行测试。

0 投票
0 回答
72 浏览

python - Python 无法从 Windows 容器中访问 Internet

TL;博士

Docker for windows 容器在 ping 时可以访问互联网,但在容器内运行的 python 不能。怎么会这样?

细节

我已经提取了图像:python:3.10.0a3-windowsservercore-1809 我可以使用以下方法启动一个基于它的容器:docker run -it --rm --dns 41.212.0.100 python:3.10.0a3-windowsservercore-1809 cmd 一旦启动,我可以 ping bing.com,丢包率为 0%

但是,当我尝试进行 pip 安装或使用 urlib 模块或 sockets 模块访问互联网时,出现超时错误:

我还尝试增加 pip 和 irllib 的超时参数,但它们仍然超时。

码头工人信息

Docker 检查容器

0 投票
1 回答
265 浏览

powershell - Get-NetIPAddress 返回 ipconfig 中未找到的值

我们正在对系统中的服务器进行配置清单,并发现了一些奇怪的东西。我们的两台服务器共享此异常:当我们运行 PowerShell Get-NetIPAddress 时,如下所示:

返回三个 IP 地址。它们是 192.xxx、127.0.0.1 和 169.xxx 据报道,在这两种情况下,169 地址都在接口别名本地连接11上* IP 地址彼此不同,但都在 169.254.0.0/16网络(16 位掩码)。

但是,这两个服务器的“ipconfig /all”根本不显示 169 地址。

控制面板/网络和 Internet/网络连接除了 192.168.xx 的接口外也没有显示任何内容

我在哪里可以确定 Get-NetIPAddress 从何处获取此信息?

谢谢,丹尼斯

0 投票
1 回答
221 浏览

winapi - 如何在主线程中使用 IcmpSendEcho2() 和 APC 回调?

首先,文档IcmpSendEcho2()自相矛盾:

它说:

如果 ApcRoutine 或 Event 参数为 NULL,则同步调用该IcmpSendEcho2函数

然后它说:

IcmpSendEcho2当指定 ApcRoutine 或 Event 参数时,该函数被异步调用

我认为第一个应该是“如果 ApcRoutine AND Event 参数为 NULL”?

此外,它在返回值下说:

异步调用时,IcmpSendEcho2 函数返回 ERROR_IO_PENDING 表示操作正在进行中

但我没有看到,我看到它返回 0 并GetLastError()返回ERROR_IO_PENDING。那么,这两种情况都存在,还是文档完全错误?

现在进入下一个问题。我想使用IcmpSendEcho2()没有事件的 ACP 回调异步使用。这样,如果要处理的主机数量非常多,我就不必担心资源问题。但是,它不起作用,因为没有发生回调。我在AcpRoutine参数下的文档中找到了这个:

当调用线程处于警报线程并且 ICMPv4 回复到达时调用的例程。

所以我相信我的问题是主线程没有处于可变状态。由于我没有要等待的事件,并且我不想等待超过完成所有内容所需的时间,我如何将主线程置于可变状态而不必猜测使用类似的东西SleepEx()?另外,如果我确实使用了类似的东西SleepEx(10,TRUE),所有的回调都会发生,还是你必须坐在一个循环中?

我的回调上下文结构包括一个共享的全局OutstandingCount类型变量,所以我知道所有请求何时完成。

也是ReplyBuffer在上下文结构中。ReplyBuffer关于异步使用它的文档中隐藏的另一个小块是:

应用程序必须使用 IcmpParseReplies 函数解析 ReplyBuffer 参数指向的数据

所以,这里的主要问题是:你应该如何在主线程中正确使用IcmpSendEcho2()带有 aAcpRoutine和 no的函数?Event

- 更新 -

不知道我是否应该问一个全新的问题,但现在是一个问题,它不会ApcRoutine为每次IcmpSendEcho2Ex()发送调用。以下代码适用于我的普通网络适配器(即 255.255.255.0),但适用于 255.255.0.0 网络,因为它outstandingcount永远不会为零。

它挂在的适配器是:

VirtualBox Host-Only Ethernet Adapter DHCP Enable: Yes Autoconfiguration Enabled: Yes Autoconfiguration IPv4Address: 169.254.21.120 Subnet Mask: 255.255.0.0

还想知道像 10. 这样的网络需要多长时间,子网为 255.0.0.0。

IPV4Scan()以下是在 Win10 x64 上以 build as x64开头的代码: