2015-08-31 110 views
0

當我嘗試使用[nc -l]命令與我的私有IP地址時,我能夠創建客戶端服務器model.But它不起作用,當我嘗試使用我的公共IP地址與相同的端口號。它給我以下錯誤: -
NC:無法分配請求的地址
爲什麼?nc -l無法使用公共IP地址

+0

您的PC使用路由器連接到互聯網嗎?如果是這樣,你是否試圖綁定到互聯網可見的IP?那一個是你的路由器的IP地址,而不是你的PC的IP地址。所以你不能綁定它,除非你在你的路由器上執行代碼。 – anderas

+0

所以,我連接到路由器,如果我谷歌什麼我的公共IP地址是,我得到的IP地址是我的路由器,而不是我的系統。糾正我,如果我錯了@andreas – Akshay

回答

1

您的問題是您的公共IP是您的路由器的IP,而不是您的計算機。

,簡體中文,你的網絡可能看起來像這樣(IP地址僅爲示例):

+--------------+  +-----------------+----------------+ 
| PC   |-----|Router (internal)|Router(external)|---... Internet 
| 192.168.0.10 |  |192.168.0.1  |123.132.122.133 | 
+--------------+  +-----------------+----------------+ 

你的PC的內部地址爲192.168.0.10,這就是它知道的唯一地址。路由器將流量路由到其他網絡;因爲它有兩個接口,內部地址爲192.168.0.1和麪向互聯網的接口(123.132.122.133)。在你的PC上,你不能聽後一個地址,因爲這是路由器的地址,而不是PC的地址之一。

因此,解決方案是監聽內部IP,並設置路由器將相應端口的流量轉發到PC上的相應端口。不過,要小心安全隱患! (例如,將一個根shell打開到互聯網可能不是最好的主意。)

+0

明白了... ... thanx很多 – Akshay