有一到練習想請各位幫幫忙,如何透過IP 位置找到以下資訊
1.電腦名稱
2.IP位置
3.網路卡的地址(MacAddress)
以下範例可以透過IP顯示遠端電腦的名稱和IP位置,那我想請教一下如何抓到MacAddress 資料,謝謝大家
IPHostEntry objEntry = Dns.GetHostEntry("192.168.1.1");
IPAddress[] arrAddress = objEntry.AddressList;
Console.WriteLine(objEntry.HostName.ToString());
Console.WriteLine(arrAddress[0].ToString());
Console.ReadLine();
如何透過IP 位置找到以下資訊
1.電腦名稱
主機名稱? IPHostEntry 類別
2.IP位置
略~(您的條件已知ip)
3.網路卡的地址(MacAddress)
可參考這篇,有超多種方法,下方也有網友提到如果是虛擬機怎麼抓到比較好的地址
https://stackoverflow.com/questions/850650/reliable-method-to-get-machines-mac-address-in-c-sharp/51821927#51821927
如果目標是遠端主機不是本機
1.跨網際網路沒辦法
2.區域網路內跨網段經過路由router就不行,同網段可以raw socket與ARP協定取得
先釐清這麼做的目的與範圍,超過技術限制單靠client端是做不到的
1.查詢的目標區域網路有多大 (例如1個class C 255台電腦)
2.查詢發起的電腦是否位於這個區域網路內的同網段(subnet)
如果無法瞭解上述兩個問題,建議先讀一下 OSI網路七層或者網路概論比較好
阿咧~需要這麼複雜,我只是單純透過程式碼想知道某個IP的MACADDRESS,目前是同一個網段,謝謝您。