【问题标题】:how to find the default gateway ip address in jsp如何在jsp中找到默认网关ip地址
【发布时间】:2016-01-29 07:29:12
【问题描述】:

我想在jsp中找出客户端和DNS的默认网关。有没有办法做到这一点。我已经找到了 IP 地址,但我也想知道默认网关或 DNS。 我已完成以下操作以查找客户端的 ip。

String ipAddress = request.getHeader("X-FORWARDED-FOR");  
String getWay = request.getRemoteAddr() ;   // Gateway
out.println("<br/>IP Address:"+ipAddress+"<br/>");
out.println("<br/>Gateway:"+getWay+"<br/>");

【问题讨论】:

  • 你用过; request.getRemoteAddr() 方法?它打印什么?
  • 这可能解决你的问题吗:stackoverflow.com/questions/11930/…
  • @Shivam 它给了我客户端的 ip
  • @FelixGerber 我想使用 ip 或其他方式找出客户端网关。
  • 这很难……您只能在客户端上获取此信息。您包含的代码在 服务器 上运行。您必须创建一些在 client 上运行的代码。但是如果这是标准的网络流量,客户端只运行一个网络浏览器,你的网络浏览器不会运行.jsp代码。

标签: java jsp dns ip gateway


【解决方案1】:

你可以使用这个sn-p并分析响应:

p = Runtime.getRuntime().exec("ipconfig");
p.waitFor();

BufferedReader reader = 
     new BufferedReader(new InputStreamReader(p.getInputStream()));

String line = "";           
while ((line = reader.readLine())!= null) {
sb.append(line + "\n");
}

【讨论】:

    【解决方案2】:

    请通过下面的链接。希望这能回答你的问题: http://ireasoning.com/articles/find_local_ip_address.htm

    最可靠的方法是使用路由表。在 Windows 上,“路线 print" 命令给了我们类似的东西:

    Runtime.getRuntime().exec("cmd.exe /c route print")

    在linux上,我们可以在/proc/net/route查看路由表

    BufferedReader 阅读器 = 新的 BufferedReader(new FileReader("/proc/net/route"))

    【讨论】:

    • 这是找到我的网络默认网关路由的方法吧?但我想找到任何 vsisting ip 或客户端网关
    • 您使用的是哪个网络服务器?
    • 由于您能够获取 IPAddress,如果您使用的是 Linux/UNIX 操作系统,则可以使用“host -t ns ”命令获取 DNS 详细信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    • 2018-12-09
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    相关资源
    最近更新 更多