【java】獲取本機IP位址和網卡的MAC地址

2021-02-14 IT特靠譜

平凡也就兩個字: 懶和惰;
成功也就兩個字: 苦和勤;
優秀也就兩個字: 你和我。
跟著我從0學習JAVA、spring全家桶和linux運維等知識,帶你從懵懂少年走向人生巔峰,迎娶白富美!
每一篇文章都是心得總結,跟我學習你就是大牛!

獲取本機IP位址和網卡的MAC地址


1 什麼是MAC地址?

      MAC地址(英語:Media Access Control Address),直譯為媒體存取控制位址,也稱為區域網地址(LAN Address),MAC位址,乙太網地址(Ethernet Address)或物理地址(Physical Address),它是一個用來確認網絡設備位置的位址。在OSI模型中,第三層網絡層負責IP位址,第二層數據鏈路層則負責MAC位址  。MAC地址用於在網絡中唯一標示一個網卡,一臺設備若有一個或多個網卡,則每個網卡都有一個唯一的MAC地址!

2 獲取IP位址和MAC地址

      下面通過java來獲取本地ip地址和網卡MAC地址。

2.1 獲取IP位址
    private static String getIpAddress() throws UnknownHostException {    InetAddress ia = InetAddress.getLocalHost();    return ia.getHostAddress();  }


2.2 獲取網卡的MAC地址
  private static String getMacAddress() throws UnknownHostException, SocketException {        InetAddress ia = InetAddress.getLocalHost();        byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();    StringBuffer sb = new StringBuffer("");    for (int i = 0; i < mac.length; i++) {      if (i != 0) {        sb.append("-");      }            int temp = mac[i] & 0xff;      String str = Integer.toHexString(temp);      if (str.length() == 1) {        sb.append("0" + str);      } else {        sb.append(str);      }    }    return sb.toString().toUpperCase();  }


3 完整代碼
import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.net.UnknownHostException;import lombok.extern.slf4j.Slf4j;
@Slf4jpublic class Main {
public static void main(String[] args) throws UnknownHostException, SocketException { String ip = getIpAddress(); String mac = getMacAddress(); log.info("IP位址為:{}, 本機網卡MAC地址為:{}", ip, mac); }
private static String getIpAddress() throws UnknownHostException { InetAddress ia = InetAddress.getLocalHost(); return ia.getHostAddress(); }
private static String getMacAddress() throws UnknownHostException, SocketException { InetAddress ia = InetAddress.getLocalHost(); byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress(); StringBuffer sb = new StringBuffer(""); for (int i = 0; i < mac.length; i++) { if (i != 0) { sb.append("-"); } int temp = mac[i] & 0xff; String str = Integer.toHexString(temp); if (str.length() == 1) { sb.append("0" + str); } else { sb.append(str); } } return sb.toString().toUpperCase(); }}

4 測試結果

      如果對你有幫助或需要技術支持,關注一下作者吧~

相關焦點

  • MAC地址是什麼?什麼用?怎麼修改MAC地址?
    因此一個主機會有一個MAC地址,而每個網絡位置會有一個專屬於它的IP位址。二、有了ip地址,為什麼還要mac地址?但用MAC地址和IP位址兩個地址,用於分別表示物理地址和邏輯地址是有好處的。這樣分層可以使網絡層與鏈路層的協議更靈活地替換,網絡層不一定非要用『IP』協議,鏈路層也不一定非用『乙太網』協議。
  • 我們的電腦是如何獲得路由器自動分配的ip地址,並實現上網的?
    粉絲提問粉絲提問:「我們的電腦是如何獲得路由器自動分配的ip地址,並實現上網的?」粉絲提問,一口君必須滿足!好在一口君對網絡協議還是比較熟悉的,畢竟當年也有幾篇專利,做過的網絡協議模塊一大堆。要連接公網,必須通過Modem撥號才能上網,撥號通過pppoe協議撥號wlan路由器的wan口連結ADSL 貓,會動態獲取一個公網IP位址100.87.59.254,在廣域網內,任何一個主機,均可以訪問到該ip地址臺式機、手機、ipad、筆記本等終端可以通過有線或者無線的方式通過共享無線路由器的wan口訪問公網終端通過路由器的dhcp協議自動獲取的地址是區域網地址,pc獲得地址是
  • 怎樣查看電腦和印表機的MAC地址、與IP綁定
    因此一個主機會有一個MAC地址,而每個網絡位置會有一個專屬於它的IP位址。MAC地址是網卡決定的,是固定的。其中MAC地址的前6位代表生產廠商,後6位代表產品的序號,MAC地址是全球唯一的。查看電腦的MAC地址:方法一:點「開始」--》「運行」--》輸入「CMD」回車--》然後在DOS狀態下輸入"ipconfig /all"-->回車,其中的"Physical Address"(物理地址)就是你的MAC地址。
  • 電腦本機IP位址是多少在哪看 怎麼查詢本機電腦IP位址
    有許多小夥伴還不知道怎麼查看本機IP,小編下面就給大家詳細介紹查看本機IP位址的詳細步驟和方法。  電腦本機IP位址在哪看  查看本機IP分為兩種情況:首先,打開"開始"菜單--選擇"運行"--輸入"cmd"--按下"Enter"回車鍵,這樣做可以打開"命令提示符",在命令提示符中輸入"ipconfig",按下"Enter"回車鍵。  系統給出的結果看下圖所示:
  • 板載網卡獨立網卡物理MAC地址修改工具
    如:AFUDOS /M 00E04D9C6D83) 二、RTL8111C RTL8102EL網卡,RTL瑞昱網卡 針對使用RTL8111C RTL8102EL網卡的請使用另一工具刷回MAC地址。
  • 如何獲取MAC地址
    續前篇——MAC地址,延續未全部完成的工作。     獲取MAC地址1. 如何獲取MAC地址1)Windows 作業系統中  (1)ipconfig命令單擊「開始」→「運行」,在「運行」文本框中輸入cmd,打開DOS提示符對話框,在DOS命令下輸入getmac 即可。
  • Linux如何配置IP位址
    轉換為2進位來說,一個C類IP位址由3位元組的網絡地址和1位元組的主機地址組成,網 絡地址的最高位必須是「110」。範圍從192.0.0.0到223.255.255.255。C類網絡可達209萬餘個,每個 網絡能容納254個主機。
  • 幾種查詢區域網內在線弱電設備IP位址的方法,總有一款你用的到!
    在電腦開始菜單[運行],輸入cmd回車,在彈出的命令提示窗口輸入ipconfig/all回車,能夠查看本機的IP、網關、mac地址信息。
  • 函數模塊 | UDP自動獲取本地廣播地址
    其中包含了一個接口的名字和具體內容——(是個共用體,有可能是IP位址,廣播地址,子網掩碼,MAC號,MTU或其他內容)。ifreq包含在ifconf結構中。而 ifconf結構通常是用來保存所有接口的信息的。
  • MAC地址與IP位址有何關係?MAC地址有重複的嗎?看完你就清楚了
    MAC地址與IP位址有何關係?MAC地址有重複的嗎?看完你就清楚了在目前網際網路的的時代,大家經常聽到MAC地址或者IP位址,二者有沒有關係?什麼叫mac地址呢?簡單說就是用來上網的設備的物理地址,比如常見的電腦的網卡、路由器、手機等等能夠聯網的大家常常稱之為乙太網的硬體物理地址,大家用的較多的就是電腦得有線網卡、路由器或者手機等設備的物理網址,不會因為聯網的數據變化而發生變化;IP位址則是你在連接有線網或者WiFi的時候路由器給你分配的臨時地址,因聯網不同而會發生變化。
  • 新手學電腦,如何查看計算機的ip地址,以及MAC地址
    大家好,我是「科技跑的快」,今天教大家如何查看計算機IP位址以及MAC地址。計算機的IP位址一旦被分配,可以說是固定不變的,因此,查詢出計算機的IP位址,在一定程度上就實現了黑客入侵的前提工作。使用ipconfig命令可以獲取本地計算機的IP位址和物理地址,想玩電腦專業或更深入的都要會這個知識。具體的操作步驟如下。Step 01右擊【開始】按鈕,在彈出的快捷菜單中執行【運行】命令。Step 02打開【運行】對話框,在【打開】後面的文本框中輸入cmd命令。
  • 怎樣查詢手機、電腦的IP位址?
    IP協議中有一個非常重要的內容,那就是給網際網路上的每臺計算機和其它設備都規定了一種地址,叫做「IP 地址」。IP是手機、電腦上網用的地址,實際上是給網卡的編號。不管是手機還是電腦,一個網段內一個設備有且只有一個IP,很多上網信息都在IP位址裡能查到。查詢IP的方法非常簡單:一、採用指令ipconfig查詢。
  • 電腦上怎麼查看本機的內網IP位址
    我們經常會聽說IP位址,每一臺電腦想要上網,都需要一個IP位址,你會查詢你的IP位址嗎? 首先大家要知道IP位址分為內網IP和外網IP。現在多數人都會使用路由器,路由器可以看作一個橋梁,連接用戶和網際網路。路由器直接連接網際網路,而用戶直接連接路由器。
  • IP與MAC綁定的難題
    校園網中的計算機原來採用公網固定IP位址。為了避免被他人盜用,使用「arp -s ip mac」命令對MAC地址和IP位址進行了綁定。後來,由於某種原因,又使用「arp -d ip mac」命令取消了綁定。
  • 怎麼查看自己的IP位址和MAC物理地址
    如果不想看這麼多字,可以只看圖片和彩色字。   首先要明確一點,什麼是IP位址,什麼是物理地址?那就需要一個地址。   什麼是MAC地址?   所謂MAC,是指每臺電腦上網卡固化的一塊物理地址,全球唯一編號,每塊網卡都是唯一的。   MAC(Medium/Media Access Control)地址,用來表示網際網路上每一個站點的標識符,採用十六進位數表示,共六個字節(48位)。
  • 物理地址(MAC地址)是什麼?
    MAC 地址採用十六進位數表示,共 6 個字節(48 位),長度為 48bit(字節)。整個地址可以分為前 24 位和後 24 位,代表不同的含義。查詢 MAC 廠商由於 MAC 地址的前 24 位是生產廠商的標識符,因此可以根據前 24 位標識符判斷出硬體的生產廠商和生產地址。用戶可以在一些網站上查詢,如 http://mac.51240.com/。
  • 如何手動更改IP位址及DNS
    各位在上網的時候一般有撥號、自動獲取地址或手動配置地址之分,一般在家裡都是通過路由器之間自動獲取就可以了。那麼在區域網或者在公司或校園網中如何手動配置ip地址呢?或者說網卡無法自動獲取的時候如何通過手動修改呢?
  • 你知道怎麼查看 IP 地址嗎?
    那你知道在 Linux 上還有什麼其他命令可以查看 IP 地址嗎?答案是 ip addr。如果回答不上來這個問題,那你可能沒怎麼用過 Linux。那你知道 ifconfig 和 ip addr 的區別嗎?這是一個有關 net-tools 和 iproute2 的「歷史」故事。
  • 如何查詢區域網內在線的監控設備IP?
    方法一:通過電腦cmd命令查詢區域網內設備IP 在電腦開始菜單[運行],輸入cmd回車,在彈出的命令提示窗口輸入ipconfig/all回車,能夠查看本機的IP、網關、mac地址信息。
  • Mac地址怎麼做到全球唯一的?
    IP位址和Mac地址產生的目的是方便別人找到自己Mac地址有點像身份證號碼,而IP位址就像門牌號碼。在茫茫大海中僅憑一個身份證號碼找到一顆別樣的沙粒很難,但如果先找到具體的沙灘,沙灘劃分很小的網格片區,就很容易通過身份證找到這顆別樣的沙粒了。MAC地址(物理地址、硬體地址)是實實在在的網絡設備出身地址,它是由廠商寫入網絡設備的bios中。