java中获取默认网关
我想使用 java 获取本地计算机的默认网关。我知道如何通过执行dos或shell命令来获取它,但是还有其他方法来获取吗? 还需要获取主要和辅助 dns ip。
I want to fetch default gateway for local machine using java. I know how to get it by executing dos or shell commands, but is there any another way to fetch?
Also need to fetch primary and secondary dns ip.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我的方法是:
由于使用数据报(UDP),所以它不是无法连接到任何地方,因此端口号可能毫无意义,并且远程地址 (1.1.1.1) 不需要可达,只需可路由即可。
My way is:
Because of using datagram (UDP), it isn't connecting anywhere, so port number may be meaningless and remote address (1.1.1.1) needn't be reachable, just routable.
在 Windows 中,借助
ipconfig
:在这里,我获取了路由器的默认网关 IP 地址,并在浏览器中打开它以查看路由器的设置页面。
In Windows with the help of
ipconfig
:Here I'm getting the default gateway IP address of my router, and opening it in a browser to see my router's setup page.
没有一种简单的方法可以做到这一点。您必须调用本地系统命令并解析输出,或者读取配置文件或注册表。据我所知,没有一种独立于平台的方法可以实现这项工作——如果你想在所有平台上运行,你就必须为 Linux、Mac 和 Windows 编写代码。
请参阅 如何确定 IP我的 Java 路由器/网关?
这涵盖了网关,您也可以使用 ifconfig 或 ipconfig 来获取它。对于 DNS 信息,您必须调用不同的系统命令,例如 Windows 上的 ipconfig 或 Linux 或 Mac 上的 parse /etc/resolv.conf。
There is not an easy way to do this. You'll have to call local system commands and parse the output, or read configuration files or the registry. There is no platform independent way that I'm aware of to make this work - you'll have to code for linux, mac and windows if you want to run on all of them.
See How can I determine the IP of my router/gateway in Java?
That covers the gateway, and you could use ifconfig or ipconfig as well to get this. For DNS info, you'll have to call a different system command such as ipconfig on Windows or parse /etc/resolv.conf on Linux or mac.
目前 Java 中没有标准接口来获取默认网关或 DNS 服务器地址。您将需要一个 shell 命令。
There is currently no standard interface in Java to obtain the default gateway or the DNS server addresses. You will need a shell command.
我不确定它是否适用于每个系统,但至少在这里我发现了这一点:
对我来说这会产生:
I'm not sure if it works on every system but at least here I found this:
For me this produces: