如何判斷自己IP是內網IP還是外網IP

2022-09-16 19:12:12 字數 2546 閱讀 1978

tcp/ip協議中,專門保留了三個ip位址區域作為私有位址,其位址範圍如下:

10.0.0.0/8:10.0.0.0~10.255.255.255 

172.16.0.0/12:172.16.0.0~172.31.255.255 

192.168.0.0/16:192.168.0.0~192.168.255.255

使用保留位址的網路只能在內部進行通訊,而不能與其他網路互連。如果要與外部通訊,那麼必須通過閘道器與外部通訊,這裡使用了nat, napt技術就是用來保證通訊的**機制。

另外,一些寬頻運營商儘管也使用了非私有位址分配給使用者使用,但是由於路由設定的原因,internet上的其他使用者並不能訪問到這些ip。上面2部分ip都可稱為內網ip,下面這部分ip不列入本次討論範圍。

如果自己機器上網路介面的ip位址落在上述保留位址的範圍內,則可以肯定自己處於內網模式下。

nat要求整個服務的連線是從內網向外網主動發起的,而外網的使用者無法直接(主動)向內網的服務發起連線請求,除非在nat的(所有)閘道器上針對服務的埠作了埠對映。nat方式要求最外圍的閘道器至少有乙個公網的ip,可以訪問顯ip的外部伺服器如: 獲取到外部ip,將這個ip與自己機器上網路介面的ip比較,即可知道自己的ip是不是內網ip。

判斷自己ip型別,可使用下面三種任意一種方法:

1)      在windos命令臺程式下,用ipconfig。

eg: 下面內網ip是192.168.0.1,外網ip是125.34.47.25,因此是閘道器。

c:/documents and settings/user>ipconfig

windows ip configuration

ethernet adapter 本地連線:

connection-specific dns suffix . :

ip address. . . . . . . . . . . . : 192.168.0.1

subnet mask . . . . . . . . . . . : 255.255.255.0

default gateway . . . . . . . . . : 192.168.0.1

ethernet adapter :

media state . . . . . . . . . . . : media disconnected

ppp adapter 寬頻撥號:

connection-specific dns suffix . :

ip address. . . . . . . . . . . . : 125.34.47.25

subnet mask . . . . . . . . . . . : 255.255.255.255

default gateway . . . . . . . . . : 125.34.47.25

2)      用tracert來判斷ip型別

如果每乙個hops不是內網ip,那麼自己就是外網ip了,反之,如果自己是內網ip,那麼每乙個hops顯示的就是閘道器的內網ip,下面的例子顯然說明是外網ip了。

3)程式設計實現

1) 如果列表中只有區域網ip,那麼說明是在內網;

2) 如果列表中有區域網ip,也有公網ip,那麼說明是閘道器;

3) 如果列表中只有公網ip,那麼說明是獨立ip。

//此處不考慮其它平台,在inet架構下測試, 輸入的ip為主機位元組順序

// 0xa -- "10.0.0.0">>24; 0xc0a8--"192.168.0.0.">>16; 0x2b0--"127.17.0.1">>22

int isinnerip( uint32_t a_ip )

return bvalid;

}int isinnerip( char* a_strip )

ip相關的應用

//獲取到本機所有的ip位址列表,並分別用字串與整形形式來顯示

int gethostip()       //return int

h = gethostbyname(temp);

if(h)

}return     0;

}//檢查字串ip是否合法

int ischecktrue(char* strip)

}return 0;

}//將字串ip轉化為整形ip

int str2intip(char* strip) //return int ip

return intip;

}

判斷機器IP是公網ip還是內網ip

首先是恭喜開通blog ip位址分為五類。e類為保留為今後使用,d類為組播位址。用於主機網路位址的就是a類 b類 c類了。10.0.0.0 8 10.0.0.0 10.255.255.255 172.16.0.0 12 172.16.0.0 172.31.255.255 192.168.0.0 16...

內網IP段分類 判斷ip是否是內網ip

在公網 連internet的 是看不到這些ip的,使用這些ip一定是你在公司或學校內網中,比如公司路由下。這些私有位址在公司 組織 內網中,可重複出現在不同公司組織內部。比如你在公司內部的使用分配到的內網ip192.168.1.12和另一家公司的朋友qq聊天,碰巧他的內網ip也是192.168.1....

如何判斷自己的寬頻是公網IP

c users administrator.user 20200730dq desktop tracert 113.201.137.233 通過最多 30 個躍點跟蹤到 113.201.137.233 的路由 1 1 毫秒 1 毫秒 1 毫秒 rt ac54u.lan 192.168.2.1 2 1...