【问题标题】:Programmatically sending ping to networks which are not configured in Network Adapter Settings以编程方式向网络适配器设置中未配置的网络发送 ping
【发布时间】:2014-02-26 08:24:46
【问题描述】:

我正在开发一个 C# 应用程序,我必须在其中找到并列出连接网络中的所有 IP 地址。通常,如果我为该特定网络完成了网络适配器设置 (NAS),我可以 ping 设备。所以问题是:

  • 这是否可以将 ping 请求发送到网络为 适配器设置未配置?
  • 如果可能,请提供任何代码示例或有关如何实现此目的的指南。
  • 如果没有 NAS,如何在 C# 中 ping 并设置网关 应用程序而不是网络适配器设置?

简而言之,我需要实现的行为是,在没有任何 NAS 的情况下,我需要在 C# 应用程序中为用户提供的某些特定 IP 范围创建 Ping 请求。例如,用户可以提供如下 IP 范围:

  • 192.168.1.xxx
  • 192.168.39.xxx 等

谢谢。

为了更清楚地说明问题,这里是示例场景

如果设备的 IP 地址为 192.168.39.15,我可以 ping 设备,前提是我进行了如下图所示的网络适配器设置。

如果我删除此网络适配器设置,则无法再 ping 此设备。我的目标是仍然即使没有此网络适配器设置也能 ping 设备

【问题讨论】:

  • 在我纯粹从事编程工作而这是一个编程方法问题的情况下,怎么会有人标记接近投票?
  • 也许你可以从nmap得到一些灵感
  • 我不同意最后的投票。也许有些用户认为这是一个超级用户的问题,但您显然是在询问有关在 C# 中以编程方式 ping 的问题。不过,我建议改写措辞,提出一个清晰、可回答的问题,而不是寻求指导。
  • 这可能是节制和封闭投票的最糟糕的例子。所有投票的人都跑题了“你清楚地了解我的问题吗”????或者你只是喜欢为你的个人资料投票
  • 我认为即使问题被重新打开,它也会因为过于广泛而再次关闭。就像@Superbest 说的那样,试着用小的、可解决的块来改写你的问题,而不是问“如何……”。

标签: c# networking network-programming


【解决方案1】:

这就是 IP 的工作原理。您要么需要与设备位于同一子网,要么设置默认网关。如果没有,则无法知道将数据包发送到哪里。

【讨论】:

    【解决方案2】:

    未配置网络设置就像一个人没有任何联系方式。在实际遇到之前,没有办法找到这样的人。这里的情况类似,配置网络意味着向网络中的连接系统提供身份。 Ping 也是使用网络提供的身份进行通信的方式。因此,如果您想在网络中识别系统,则应正确配置网络设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-15
      • 2021-04-18
      • 1970-01-01
      • 2023-01-28
      • 1970-01-01
      相关资源
      最近更新 更多