问题标签 [subnet]

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 投票
5 回答
5612 浏览

c# - 如何在 C# List 中存储 IP 地址列表以使其也可搜索子网?

我应该如何正确存储带有子网地址的 IP 地址列表以使其可搜索?

有两个例子:

  1. 我有 IP 地址 1.2.3.4 并且在我的 C# 列表中有 1.2.3.4 条目,所以这里我们没有问题。

  2. 我有 IP 地址 3.4.5.6,在我的 C# 列表中我有子网 3.4.0.0/24。这是我的问题。

如何将 IP 子网存储在列表中以涵盖第二个示例?

0 投票
8 回答
61290 浏览

c# - 如何检查 IP 地址是否在特定子网内

我有一个格式为 10.132.0.0/20 的子网和一个来自 ASP.Net 请求对象的 IP 地址。

是否有 .NET 框架功能来检查 IP 地址是否在给定子网内?

如果没有,怎么办?位操纵,我猜?

0 投票
2 回答
717 浏览

subnet - how to detect number of subnets on a network automatically

is any way to detect the number of subnets which are on my network and how to find them out automatically?

0 投票
2 回答
5331 浏览

vb.net - 在 vb.net 中将子网掩码转换为二进制(八位字节)

如何将子网掩码转换为二进制,最终得到 32 位数字?

我可以使用 Convert.ToString(Long-to-convert, 2) 将其转换为二进制

但是 255.255.255.0 的子网掩码返回(虽然它返回它没有空格):

1111 1111 1111 1111 1111 1111 0

当我想要它时:

1111 1111 1111 1111 1111 1111 0000 0000

0 投票
4 回答
9286 浏览

udp - 对于 UDP 广播专家:通过 WiFi(802.11N 和 802.11G)实现高带宽音频 UDP 广播的问题

我正在尝试使用专用网络上的 UDP 广播通过 WiFi 将多声道音频从一台服务器发送到多台客户端计算机。

我正在使用名为 Pure Data 的软件,以及名为 netsend~ 和 netreceive~ 的 UDP 广播工具。代码在这里: http ://www.remu.fr/sound-delta/netsend~/

长话短说,我能够在点对点网络中将 9 个频道发送到一台客户端计算机,但是当我尝试向 2 个客户端广播时(还没有尝试更多),我得到了没有声音。我可以压缩音频并通过 UDP 广播成功地将 4 个压缩通道(未压缩大小的 10%)发送到 2 个客户端。或者我可以通过 UDP 广播向 2 个客户端发送 1 个频道,但会出现一些故障。

WiFi路由器是Linksys WRT300N。所有计算机都运行 Windows XP。IP 地址为 192.168.1.x,子网掩码为 255.255.255.0,子网广播地址:192.168.1.255。

我很好奇 - 路由器中的 UDP 广播数据包会发生什么?如果我的子网掩码为 255.255.255.0,那么路由器是否为从广播地址发送的每个数据包生成 254 个数据包?

我的 WiFi 带宽至少为 100Mbps,但我似乎无法通过 UDP 广播向多个客户端发送超过 10Mbps 以上的音频。

是什么阻止我发送音频达到 WiFi 的带宽限制?

任何关于套接字代码修改、网络设置、路由器设置、子网修改的建议......非常感谢!

谢谢尼克

0 投票
4 回答
11256 浏览

c# - 扫描 IP 地址范围的正确方法

给定用户输入的 IP 地址范围(通过各种方式),我想确定其中哪些机器运行着我可以与之交谈的软件。

这是基本过程:

  1. ping 这些地址以查找可用机器

  2. 连接到可用机器上的已知套接字

  3. 向成功建立的套接字发送消息

  4. 将响应与预期响应进行比较

步骤 2-4 对我来说是直截了当的。在 .NET 中实现第一步的最佳方法是什么?

我正在查看 System.Net.NetworkInformation.Ping 类。我应该同时 ping 多个地址以加快进程吗?如果我一次 ping 一个地址且超时时间很长,则可能需要很长时间。但是如果有一个小的超时,我可能会错过一些可用的机器。

即使我知道地址指向一台活动机器,有时 ping 似乎也会失败。如果请求被丢弃,我是否需要 ping 两次?

最重要的是,当我在拔下网络电缆的情况下扫描大量地址时,Ping 在 FreeUnmanagedResources() 中引发 NullReferenceException。!?

有关扫描此类 IP 范围的最佳方法的任何指针?

0 投票
2 回答
1791 浏览

python - ping 网络子网中的第一个可用主机

我用 Python 编写了一个小脚本,它 ping 我学校无线网络的所有子网,并打印出连接到网络每个子网的计算机的 IP 地址和主机名。我目前的设置是我依靠创建线程来处理每个 ping 请求。

但是,我想修改我的脚本,以便它只查找子网中的第一个可用主机。这意味着假设我有以下子网 (128.119.177.0/24) 并且第一个可用主机是 128.119.177.20。我希望我的脚本在我成功联系 128.119.177.20 后停止 ping 128.119.177.0/24 中的剩余主机。我想对我网络上的每个子网(128.119.0.1 - 128.119.255.254)重复一遍。鉴于我目前的设置,进行此更改的最佳行动方案是什么?我正在考虑做类似队列列表(其中每个队列为其中一个子网保存 255 个 IP 地址)并让一个线程处理每个队列(除非我可以在 Windows 上的 Python 中生成的线程数有限制) .

编辑:我玩过 nmap(和 Angry IP 扫描仪)来完成这项任务,但我对编写自己的脚本很感兴趣。

0 投票
1 回答
1412 浏览

c# - 连接 2 台不同的子网计算机

如何连接 2 台不同的子网计算机?例如,让我们说以下内容:

192.168.1.92 连接到外部可见的 222.251.155.20。192.168.1.102 连接到外部可见的 223.251.156.23。

现在,两台机器都连接到中间人服务器,因此它们可以协商彼此的内部和外部 IP,并让其中一个打开侦听端口。我目前知道如何做到这一点的唯一方法是端口转发。

我对 C# 套接字相当精通,只是不知道如何连接位于两个不同子网上的两台计算机。

我有一个客户端连接到的具有域名的服务器,通常客户端将位于家庭路由器后面,我希望它们能够直接相互共享信息。

0 投票
8 回答
67116 浏览

python - Python 3:从 CIDR 表示法创建可能的 IP 地址列表

我接到了在 python (3.1) 中创建一个函数的任务,该函数将采用 CIDR 表示法并返回可能的 IP 地址列表。我查看了 python.org 并发现了这个: http ://docs.python.org/dev/py3k/library/ipaddr.html

但我还没有看到任何可以满足这种需求的东西......我将非常感谢任何人关心我的方式的任何帮助。提前致谢。:-)

0 投票
1 回答
416 浏览

javascript - 用于 ASP 的 IsInNet

第一篇文章。

因此,由于标准 PAC 文件的功能存在一些缺陷,我正在开展一个项目。基本上我们需要根据请求者的内部子网来路由代理规则。目前 IsInNet 函数是选项,但是这是客户端并且有许多故障点,因为它依赖于 myIpAddress 函数(启用 IPv6 的 FF,默认路由适配器不是 Windows 中的最高优先级绑定等......),这使得它在企业部署中不可靠。

我已经编写了一个 ASP 扩展来根据请求者的 REMOTE_ADDR 提供 pac 文件,因为我相信这将清除执行此客户端会添加的所有混乱。问题是,如果不做一些极其混乱和不准确的事情,比如将八位位组拆分成单独的字符串并进行比较,我无法用 ASP 弄清楚如何将子网与简单的 /8、/16 或 /24 进行比较。

感谢您的时间。

-瑞安