獲取本機IP(考慮多塊網絡卡 虛擬機器等複雜情況)

2021-09-08 21:51:51 字數 1908 閱讀 6004

通過查詢本機路由表,獲取訪問預設閘道器時使用的網絡卡ip位址。該方法在有網路的情況下適應性較好,如果本身不連線到網際網路,則無法獲取。

**如下:

1:  

///

2:  

/// 獲取當前使用的ip

3:  

///

4:  

///

5:  

public

static

string getlocalip()

6:
13:  

else

14:
23:  

catch (exception)

24:
27:              }
28:          }
29:
30:  

///

31:  

/// 獲取本機主dns

32:  

///

33:  

///

34:  

public

static

string getprimarydns()

35:
42:  

else

43:
46:          }
47:
48:  

///

49:  

/// 執行乙個控制台程式並返回其輸出引數。

50:  

///

51:  

/// 程式名

52:  

/// 輸入引數

53:  

///

54:  

public

static55:

62:                  process proc = new process();
63:                  proc.startinfo.filename = filename;
64:                  proc.startinfo.createnowindow = true;
65:                  proc.startinfo.arguments = arguments;
66:                  proc.startinfo.redirectstandardoutput = true;
67:                  proc.startinfo.useshellexecute = false;
68:                  proc.start();
69:
70:  

using (system.io.streamreader sr = new system.io.streamreader(proc.standardoutput.basestream, encoding.default))

71:
78:  

if (!proc.ha***ited)

79:
82:  

return txt;

83:                  }
84:              }
85:  

catch (exception ex)

86:
90:          }

Python獲取本機IP(多網絡卡)

python獲取本機ip位址的一般方法為 1 2 3 importsocket ip socket.gethostbyname socket.gethostname 通過gethostname獲取主機名,再用gethostbyname將主機名轉換為ip位址。那麼,問題來了。如果主機有多個網絡卡 ip...

多網絡卡下獲取本機IP的方式。

多網絡卡下獲取本機ip的方式。方式一 public class networkutils catch socketexception e log.error 獲取本地ip 失敗 e return localhostip 方式二 private static string getinetaddress...

虛擬機器獲取不到IP

inet addr bcast mask 255.255.254.0 這一行沒有 也就是看不到ip位址。方法 先用dhclient eth0獲取ip位址,然後執行ifconfig eth0 如果是靜態ip 可能獲取到的ip不是 etc sysconfig network scripts ifcfg ...