如何在 Java 中确定路由器/网关的 IP?

2023-11-29

如何在 Java 中确定路由器/网关的 IP?我可以很容易地获得我的IP。我可以使用网站上的服务获取我的互联网 IP。但我如何确定我的网关的 IP?

如果您了解相关方法,那么在 .NET 中这有点容易。但在 Java 中如何做到这一点呢?


在 Windows、OSX、Linux 等上,Chris Bunch 的答案可以通过使用得到很大的改进

netstat -rn

代替一个traceroute命令。

您的网关的 IP 地址将出现在以下任一行开头的第二个字段中:default or 0.0.0.0.

这解决了尝试使用时的许多问题traceroute:

  1. 在 Windows 上traceroute实际上是tracert.exe,所以代码中不需要操作系统依赖
  2. 这是一个快速运行的命令 - 它从操作系统而不是网络获取信息
  3. traceroute有时会被网络屏蔽

唯一的缺点是需要不断地读取行netstat输出直到找到正确的行,因为将有不止一行输出。

EDIT:如果您使用的是 MAC(在 Lion 上测试),则默认网关的 IP 地址位于以“default”开头的行的第二个字段中,或者在第三场以“0.0.0.0”开头的行(在 Windows 7 上测试)

Windows:

网络目标网络掩码网关接口指标

0.0.0.0 0.0.0.0192.168.2.254192.168.2.46 10

Mac:

目标网关标志参考使用 Netif 过期

默认192.168.2.254UGSc 104 4 en1

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Java 中确定路由器/网关的 IP? 的相关文章

随机推荐

  • 子状态机

    我有一个有 5 个州的 FSM 其中3个是通过子FSM UML模式 设计的 对于 VHDL 中的实现 恕我直言 有两种方法可以做到这一点 将它们总结为一个 这样我就有了一份包含子 FSM 的文档和一个包含一个大 FSM 的产品 与所有州建立
  • 确定 SPA 和 .NET Core 3 的角色

    我有一个使用 NET Core 3 1 的应用程序 还有一个使用由此生成的默认 React 应用程序的前端link 在 NET Core 应用程序中 我使用用户和角色设置了 Identity Server 当我使用 React 应用程序时
  • 如何迭代字典?

    我见过几种在 C 中迭代 字典的不同方法 有标准的方法吗 foreach KeyValuePair
  • 当我使用会话将值从一个页面发送到另一个页面时,出现以下错误[重复]

    这个问题在这里已经有答案了 警告 session start 打开 var cpanel php sessions ea php56 sess c84fdb91458e26c7325faf74a529a3 O RDWR 失败 没有这样的文件
  • 获取perl字符串计算结果

    如果一个字符串如下所示 str 5 2 1 我想从该字符串中获取计算结果 如何转换为标量来计算它 谢谢 最简单的方法是 print eval 5 2 1 但这并不安全 print eval print You are hacked 您需要先
  • Laravel - 使用 whereHas 获取最后一行

    我正在尝试获取上次用户活动的时间 created at 我有模型User and UserActivity 我想获取最后一个用户活动并检查该用户的最后一个活动是否是 3 天发送通知 User php
  • 忍者。对内部设置属性的奇怪拦截

    域对象 目标对象 cs public class TargetObject public virtual ChildTargetObject ChildTargetObject get return ChildTargetObjectInn
  • python: 为什么使用子进程调用 echo 会返回 WindowsError 2?

    在我的程序中 我有一个函数 runScript def runScript subprocess call echo hello 我在 Python 文档中看到过很多类似的例子 所以我认为这可行 但是 当我在程序中调用此函数时 它返回 Wi
  • 如何用C++实现“虚拟模板功能”

    首先 我已经阅读过并且现在知道虚拟模板成员函数在 C 中 还 不可能 解决方法是使类成为模板 然后在成员函数中也使用模板参数 但在 OOP 的背景下 我发现如果该类实际上是一个模板 下面的示例就不会很 自然 请注意 该代码实际上不起作用 但
  • 网页抓取 Pokemon 数据

    我试图找出每个神奇宝贝 第一代 可以学习的动作数量 我发现以下网站包含此信息 https pokemondb net pokedex game red blue yellow 这里列出了 151 个 Pokemon 对于每个 Pokemon
  • PHP mysqli_real_escape_string 返回空字符串

    如果我不使用 mysql real escape string 函数 代码可以正常工作 但该函数没有返回任何内容 我读到问题可能是由于我没有 mysql 连接 但情况似乎并非如此 请帮忙
  • shell函数中的“声明”和环境变量的范围

    考虑以下测试片段 这些是文件 declare test 的内容 function do foobar unset FOOBAR declare FOOBAR default FOOBAR override echo At end of do
  • 在 pandas 中生成唯一 ID 列

    我有一个包含三列的数据框 bins x bins y and z 我想添加一个新列unique这是该独特组合的某种 索引 bins x and bins y 以下是我想附加的示例 请注意 为了清楚起见 我对数据框进行了排序 但在此上下文中顺
  • ag-Grid - 在行悬停时显示按钮,就像 Gmail 中一样

    在 ag Grid 中 我想在悬停一行时显示操作按钮 就像在 Gmail 中一样 无论滚动位置如何 操作按钮都必须出现在网格的右端 有提到一种方法https blog ag grid com build email client with
  • 是否可以在for循环语句下完成所有ajax调用后运行代码?

    我有一个for循环语句 每个循环都会执行一个ajax调用 each arr function i v var url xml php id v ajax url url type GET dataType xml success funct
  • oracle数据库中的阿拉伯字符

    亲爱的大家 我正在努力做到以下几点 我想在我的数据库中存储阿拉伯字符 但问题是它们的存储方式是 我尝试过这些功能 msg txt convert msg txt AR8MSWIN1256 AR8ISO8859P6 但我得到了这个错误 ORA
  • Ubuntu 上的 PyXML

    我刚刚完成 Ubuntu 10 10 的全新安装 我正在尝试运行一些使用 xml 和 xpath 的脚本 我从 PyXML 内部收到错误 我认为这是一个安装错误 为了安装它 我执行了以下操作 prompt gt sudo apt get i
  • 将指向同一类型结构体成员的指针分配给另一个指向同一类型结构体的指针

    即使对我来说 这个问题听起来也非常令人困惑 而且它可能看起来很明显或已经得到解答 但我已经搜索了很多 虽然我发现了有趣的东西 但我没有找到完全适合我的问题的答案 这是一些C代码将更好地显示我的疑问 typedef struct Node s
  • MySql 和 Sql Server 是否可以有 EF 上下文?

    我有两个实体框架上下文 一个用于 MySql 一个用于 sql 如果我运行该应用程序 我会收到以下错误 The default DbConfiguration instance was used by the Entity Framewor
  • 如何在 Java 中确定路由器/网关的 IP?

    如何在 Java 中确定路由器 网关的 IP 我可以很容易地获得我的IP 我可以使用网站上的服务获取我的互联网 IP 但我如何确定我的网关的 IP 如果您了解相关方法 那么在 NET 中这有点容易 但在 Java 中如何做到这一点呢 在 W