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...