從區域網獲取公網IP的實現

2021-04-28 06:26:28 字數 1285 閱讀 6564

從區域網獲取公網ip的實現

從區域網獲取公網ip,應該有很多種方法,比如直接進路由器看,開花生殼這樣的服務,或者有一些**提供測試你公網ip位址等等很多,但是去獲取這個ip,都需要你手動去獲取這個ip,這樣很麻煩,我就在想,有沒有用程式的方法去從內網獲取公網ip???

我是乙個新手,所以首選就是google下,看看是否有這相關的資料,很不幸,這方面的資料不是很多!但是在搜尋的過程中,找到了一條令人興奮的資訊,看到linux作業系統下面有乙個text模式的瀏覽器lynx,可以直接在linux的命令列輸入:

lynx -source www.3322.org/dyndns/getip

執行此命令能夠獲取到你所在區域網對外的公網ip(執行此命令的前提是你的linux系統有裝lynx這個瀏覽器),我也在xp系統的瀏覽器的位址列輸入上述網頁,原來是提供使用者自己的公網ip,於是我就在想,我要是能夠獲取到www.3322.org/dyndns/getip的網頁源**,那樣就可以獲取到自己所在區域網的公網ip,其實lynx的做法也是這樣,但是lynx的**太過複雜,我於是就用了socket來獲取網頁源**來實現從區域網獲取公網ip,其源**可以參考我的/開源**/中的"從web伺服器獲取網頁源**的程式"中的**.當然那個程式需要修改才能只獲取ip,其他的部分省略掉.

編譯上述**(編譯加入引數-g是為了可以進行gdb除錯):

#gcc -g -o iesource iesource.c

用gdb跟蹤除錯**:

#insight iesource

note:順便提下insight是gdb的gui形式,是linux下進行應用程式除錯的利器.

gdb進行跟蹤除錯的好處就是知道你的程式是否會出現記憶體已出,暫存器的變化,變數值的變法是否正確.修正自己的**後,就能得到在linux的console得到以下結果.

0note:紅色部分是需要自己輸入的,我這裡是www.3322.org/dyndns/getip.*.*.*.*這裡顯示的是你的公網的ip位址.成功了,但是輸出中有一些其他的資訊,所以我在那個**裡面進行了完善,只列印出了ip位址.

C 獲取本機區域網ip和公網ip的方法

asp.net unity開發 net培訓 期待與您交流!1。獲取區域網ip 先看下面乙個方法 c 純文字檢視 複製 0102 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 獲取ip位址 ipv4 pu...

Linux將公網ip對映到區域網ip

測試環境如下 monitor msc1 公網ip 103.6.164.128 eth0 內網ip 192.168.0.57 eth0 內網ip 192.168.0.16 eth1 通過訪問monitor的外網位址的20003埠,訪問到msc1的20003埠 1.設定monitor伺服器允許ip ec...

區域網對映到公網 natapp實現

在開發時可能會有這樣的需求 需要將自己開發的機器上的應用提供到公網上進行訪問,但是並不想通過註冊網域名稱 搭建伺服器等等一系列繁瑣的操作來實現。到註冊頁面 註冊步驟很簡單,只需要填該填的資訊就對了,要記住使用的手機號和密碼,方便下次使用。2 實名制 實名認證後的介面如下 3 購買免費隧道 這裡寫的是...