java 怎么根据IP地址获取主机名

java 怎么根据IP地址获取主机名,第1张

//看看这个代码如何。
import javanetInetAddress;
import javanetUnknownHostException;
import javautilProperties;
import javautilSet;
public class TestSystemProperties {
public static void main(String [] args){
InetAddress netAddress = getInetAddress();
Systemoutprintln("host ip:" + getHostIp(netAddress));
Systemoutprintln("host name:" + getHostName(netAddress));
Properties properties = SystemgetProperties();
Set<String> set = propertiesstringPropertyNames(); //获取java虚拟机和系统的信息。
for(String name : set){
Systemoutprintln(name + ":" + propertiesgetProperty(name));
}
}
public static InetAddress getInetAddress(){
    try{
     return InetAddressgetLocalHost();
    }catch(UnknownHostException e){
Systemoutprintln("unknown host!");
}
    return null;
}
public static String getHostIp(InetAddress netAddress){
if(null == netAddress){
return null;
}
String ip = netAddressgetHostAddress(); //get the ip address
return ip;
}
public static String getHostName(InetAddress netAddress){
if(null == netAddress){
return null;
}
String name = netAddressgetHostName(); //get the host address
return name;
}
}

这个代码简单明了,就是调用现成的InetAddress类

使用带-a参数ping命令,可以得到对方的主机名。

例如:ping -a 19216821。

在共享上网的机器中,出于安全考虑,大部分作为服务器的主机都安装了个人防火墙软件,而其他作为客户机的机器则一般不安装。

几乎所有的个人防火墙软件,默认情况下是不允许其他机器Ping本机的。一般的做法是将来自外部的ICMP请求报文滤掉,但它却对本机出去的ICMP请求报文,以及来自外部的ICMP应答报文不加任何限制。

这样,从本机Ping其他机器时,如果网络正常,就没有问题。但如果从其他机器Ping这台机器,即使网络一切正常,也会出现“超时无应答”的错误。

大部分的单方向Ping通现象源于此。解决的办法也很简单,根据你自己所用的不同类型的防火墙,调整相应的设置即可。

扩展资料:

ping命令有很多参数,例如:

-tPing指定的计算机直到中断。

-a将地址解析为计算机名。

-ncount发送count指定的ECHO数据包数。默认值为4。

-llength发送包含由length指定的数据量的ECHO数据包。默认为32字节;最大值是65,527。

-f在数据包中发送"不要分段"标志。数据包就不会被路由上的网关分段。

-ittl将"生存时间"字段设置为ttl指定的值。

-vtos将"服务类型"字段设置为tos指定的值。

-rcount在"记录路由"字段中记录传出和返回数据包的路由。count可以指定最少1台,最多9台计算机。

-scount指定count指定的跃点数的时间戳。

-jcomputer-list利用computer-list指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP允许的最大数量为9。

参考资料来源:

百度百科-ping

1、打开系统,桌面右下角有个电脑的小图标。单击一下然后点支持就可以看到IP地址了。

2、还有一种方法,点击开始——运行——输入cmd,然后在d出来的界面上边输入ipconfig,然后回车。

3、完成以上步骤后,然后就可以看到IP地址。

4、接下来就是可以查看主机名很简单右键“我的电脑”——属性。

5、完成以上步骤后,然后点击计算机名称就可以看到了。

局域网管理中经常遇到已知某个MAC地址,要查询其IP地址的情况,有如下几种方法:

方法一:用ARP -A 查询

这种方法只能查到与本机通讯过(20分钟内)的主机MAC地址和IP地址。可在远程主机所属网段中的任一台主机上运行此命令,这样可查出IP欺骗类病毒的主机。

方法二:用专用软件查,如nbtscan

命令方式是:nbtscan -r 网络号/掩码位,这种方法可查询某网段的所有IP与MAC对应关系,但装有防火墙的主机则禁止查询。

方法三: 如果所连交换机有网管功能,可用ARP SHOW 命令显示交换机的arp缓存信息,这种方式基本可查询所有的IP 与MAC地址,但只有网管才有这个权限。

方法四:用sniffer类的嗅探软件抓包分析,packet中一般都含用IP地址与MAC地址。

方法五:用solarwinds类软件中的MAC ADDRESS DISCOVERY查询,但这个工具好象不能跨网段查询。

windows
系统下,知道一个主机的IP地址,想获取主机名称,可以使用
nbtstat命令。如我想知道IP为19216805的电脑主机名,可以在windows
命令行中输入:
nbtstat
-a
19216805
Demo就是19216805的主机名。

查IP的 *** 作如下:
1、在命令提示符下(开始-运行里输入cmd)利用tracert
加主机名得到IP
地址;如下图所示:
2、知道IP的话,直接用nbtstat
-a
IP,就能知道所有的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13358001.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-21
下一篇 2023-07-21

发表评论

登录后才能评论

评论列表(0条)

保存