相关疑难解决方法(0)

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

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

如果你了解自己的方式,这在.NET中有点容易.但是你如何用Java做到这一点?

java sockets ip router

15
推荐指数
3
解决办法
3万
查看次数

Java查找默认网关的网络接口

在Java中,我想找到与所使用的接口相对应的java.net.NetworkInterface到达默认网关.接口的名称等不是提前知道的.

换句话说,如果以下是我的路由表,我希望接口对应"bond0":

$ netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.10.10.0     *               255.255.255.0   U         0 0          0 bond0
10.10.11.0     *               255.255.255.0   U         0 0          0 eth2
10.10.11.0     *               255.255.255.0   U         0 0          0 eth3
10.10.12.0     *               255.255.255.0   U         0 0          0 eth4
10.10.13.0     *               255.255.255.0   U         0 0          0 eth5
default         mygateway      0.0.0.0         UG        0 0          0 bond0
Run Code Online (Sandbox Code Playgroud)

做了一些谷歌搜索后,我仍然没有找到任何答案.

编辑:
java运行时必须"知道"如何获取此信息(并不是说它已暴露).当使用join(InetAddress grpAddr)调用(未指定接口)将java.net.MulticastSocket连接到多播组时,明显的行为似乎是在"默认"接口上加入(如上所述).即使默认的intf不是路由表中列出的第一个接口,这也可以工作.但是,加入mcast组的基础POSIX调用需要此信息!:

struct ip_mreqn group;
group.imr_multiaddr = ...
group.imr_address = **address of the …
Run Code Online (Sandbox Code Playgroud)

java routing network-programming

7
推荐指数
2
解决办法
7260
查看次数

如何从Java设置默认网关,IP地址和子网掩码?

我正在寻找一些从Java配置我的以太网卡的方法.有没有办法从Java更改默认网关,IP地址和子网掩码.

目前我正在使用OSHI来获取IP地址,Mac地址和其他硬件信息.我也明白设置这些参数的唯一方法是Java.lang.Runtime Class并使用硬件特定命令从这里设置属性

我正在寻找一种更简洁的方法来为Linux,Windows和Mac执行此操作.我基本上试图从我自己的应用程序中设置所有这些属性.是否有像OSHI这样的库或包装器来执行特定于主机的命令?

java networking ethernet static-ip-address

7
推荐指数
1
解决办法
731
查看次数