java獲取本機名稱、IP、MAC地址和網卡名稱
java獲取本機名稱、IP、MAC地址和網卡名稱
摘自:https://blog.csdn.net/Dai_Haijiao/article/details/80364370
2018年05月18日 14:53:19閱讀數:134- import java.net.InetAddress;
- import java.net.NetworkInterface;
-
- public class IpConfig {
- @SuppressWarnings("static-access")
- public static void main(String[] args) throws Exception {
- InetAddress ia = null
; - try {
- ia = ia.getLocalHost();
- String localname = ia.getHostName();
- String localip = ia.getHostAddress();
- System.out.println("本機名稱是:" + localname);
- System.out.println("本機的ip是 :" + localip);
- } catch (Exception e) {
- e.printStackTrace();
- }
- InetAddress ia1 = InetAddress.getLocalHost();// 獲取本地IP對象
- System.out.println("本機的MAC是 :" + getMACAddress(ia1));
- }
-
- // 獲取MAC地址的方法
- private static String getMACAddress(InetAddress ia) throws Exception {
- // 獲得網絡接口對象(即網卡),並得到mac地址,mac地址存在於一個byte數組中。
- byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();
- // 下面代碼是把mac地址拼裝成String
- StringBuffer sb = new
StringBuffer(); - for (int i = 0; i < mac.length; i++) {
- if (i != 0) {
- sb.append("-");
- }
- // mac[i] & 0xFF 是為了把byte轉化為正整數
- String s = Integer.toHexString(mac[i] & 0xFF);
- // System.out.println("--------------");
- // System.err.println(s);
- sb.append(s.length() == 1 ? 0 + s : s);
- }
- // 把字符串所有小寫字母改為大寫成為正規的mac地址並返回
- return sb.toString().toUpperCase();
- }
- }
輸出結果如下:
本機名稱是:PC-DaiHaijiao
本機的ip是 :172.16.0.31
本機的MAC是 :00-FF-0D-99-5E-1E
- import java.net.Inet4Address;
- import java.net.InetAddress;
- import java.net.NetworkInterface;
- import java.util.Enumeration;
-
- public class NetworkInterfaceTest {
-
- public static void main(String[] args) throws Exception {
- // 獲得本機的所有網絡接口
- Enumeration<NetworkInterface> nifs = NetworkInterface.getNetworkInterfaces();
- while (nifs.hasMoreElements()) {
- NetworkInterface nif = nifs.nextElement();
- // 獲得與該網絡接口綁定的 IP 地址,一般只有一個
- Enumeration<InetAddress> addresses = nif.getInetAddresses();
- while (addresses.hasMoreElements()) {
- InetAddress addr = addresses.nextElement();
- if (addr instanceof Inet4Address) { // 只關心 IPv4 地址
- System.out.println("網卡接口名稱:" + nif.getName());
- System.out.println("網卡接口地址:" + addr.getHostAddress());
- System.out.println();
- }
- }
- }
- }
- }
輸出結果如下:
網卡接口名稱:lo
網卡接口地址:127.0.0.1
網卡接口名稱:eth0
網卡接口地址:172.16.0.31
網卡接口名稱:eth2
網卡接口地址:192.168.220.1
網卡接口名稱:wlan2
網卡接口地址:192.168.0.108
網卡接口名稱:eth8
網卡接口地址:192.168.138.1
java獲取本機名稱、IP、MAC地址和網卡名稱
相關推薦
java獲取本機名稱、IP、MAC地址和網卡名稱
sans mon any flex exc consola 獲取本地ip network log java獲取本機名稱、IP、MAC地址和網卡名稱摘自:https://blog.csdn.net/Dai_Haijiao/article/details/80364370 20
java 獲取本機的公網ip
嘗試了百度 和chinaz 最終採用chinaz 的訪問 public class Getip { /** * @param args */ public static void main(String[] args) throws Ex
ZigBee獲取本裝置及父裝置的Mac地址和網路短地址
mac地址通訊 1,兩個位元組在網路裡面唯一的網路短地址 2,每一個CC2530晶片出廠的時候,TI公司會固化一個唯一的8個位元組的MAC地址(IEEE地址)。 怎麼知道晶片裡面的MAC地址、網路
Java獲取本機名稱、本機MAC地址、IP地址
Java獲取本機名稱、本機MAC地址、IP地址 public class Test { public static void main(String[] args) throws Exception { InetAddre
java 獲取本機的公網、外網ip
本機通過路由器聯網,獲取ip時獲取的是路由器分配的IP。 獲取公網的IP: 檢查元素,可以獲得一個地址 直接訪問這個網站進行擷取 import java.io.BufferedReader; import java.io.IOException; import ja
獲取本機的公網IP和內網IP(JAVA原始碼)
public class Test { public static void main(String[] args) { try { String ip1 = getMyIP(); System.out.println("myIP:" + ip1);
Java獲取本機公網ip
import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration; /** * *
java獲取本機ip(排除虛擬機器等一些ip)
網上一個比較普遍的說法是InetAddress.getLocalHost().getHostAddress() 似乎很簡單,但忽略了一個問題,即IP地址在現在的網路環境更加複雜了,比如有Lan,WIFI,藍芽熱點,虛擬機器網絡卡… 即存在很多的網路介面(
java 獲取本機的IP和hostname
InetAddress ia = InetAddress.getLocalHost(); String host = ia.getHostName();//獲取計算機主機名 String IP= ia
Linux下Java獲取本機IP地址
在Linux下用InetAddress.getLocalHost()方法獲取本機IP地址, 得到的結果總是:127.0.0.1。 原來這個是etc/hosts檔案中的配置,並非網絡卡的IP地址。 後來多方尋訪,終於得下以下程式碼, 執行後在控制檯輸出IP與MAC地址。import java.net.*;imp
Java獲取本機的ip地址
說到獲取ip地址,有人可能會想到,直接用InetAddress.getLocalHost().getHostAddress()。實際上這個是不對的,因為一臺機器上可能有多個網路介面(一般指網絡卡或者虛擬網絡卡),因此也就有多個ip地址,所以我們需要列出所有的網路介面及其對應
java獲取本機IP (相容linux)
程式在本地沒問題,釋出到linux上報錯,百度了一下是ip獲取方法InetAddress.getLocalHost().getHostAddress()不相容linux,網上提供一種解決方案是修改linux伺服器配置,我試了一下,沒用,於是採用另一種方案,
cmd 、java獲取硬碟的序列號(serialnumber)實體地址 和磁碟ID邏輯地址
看了網上解釋硬碟序列號,分為兩類。(我認為啊序列號就是生產硬碟時候的編號) 在cmd 格式下 獲取硬碟的序列號, 一類是硬碟的物理序列號 只有一個 ,除非是刷硬碟,一般都不會改變的。檢視方式:wmic diskdrive get serialnumber 另一類是 邏
【網路應用】批處理獲取本機的公網IP地址
【方案一】BAT + VBS @echo off set "URL=http://www.ip138.com/ip2city.asp" >%temp%/download.vbs echo Set objDOM = WScript.GetObject(WScript.A
java 獲取本機的所有網絡卡的Mac地址
public class Mac { public static void main(String[] args) { try { Enumeration<NetworkInterface> enumeration
java獲取本機CPU序列號
package util; import java.io.BufferedReader; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.InputSt
【網路應用】批處理獲取本機的公網IP地址 .
【方案一】BAT + VBS [c-sharp] view plaincopyprint? @echo off set"URL=http://www.ip138.com/ip2city.asp">%temp%/download.vbs echo Set
java獲取本機地址
public static String getLinuxLocalIp() { String ip = ""; try { for (Enumeration<NetworkInterface> en =
ZIGBEE獲取本裝置及父裝置的IEEE64地址和短地址
第一種方法,利用NLME.h裡面定義的專門API 獲取裝置自身IEEE地址 extern byte *NLME_GetExtAddr( void ); 獲取裝置自身網路地址 extern uint16 NLME_GetShortAddr( void ); 獲取父裝
c#中如何獲取本機MAC地址、IP地址、硬盤ID、CPU序列號等系統信息
finall ipaddress reac 地址 computer mod urn aca rop public class Computer { public static string CpuID; //1.cpu序列號 pub