IP地址基本概念&動態IP地址的捕獲及應用

Home Home
引用 | 編輯 mars1945
2005-06-21 15:28
樓主
推文 x0
1. IP地址基本概念

  Internet依靠TCP/IP協議,在全球範圍內實現不同硬體結構、不同操作系統、不同網路系統的互聯。在Internet上,每一個節點都依靠唯一的IP地址互相區分和相互聯繫。IP地址是一個32位二進制數的地址,由4個8位字段組成,每個字段之間用點號隔開,用於標識TCP/IP宿主機。

  每個IP地址都包含兩部分:網路ID和主機ID。網路ID標識在同一個物理網路上的所有宿主機,主機ID標識該物理網路上的每一個宿主機,於是整個Internet上的每個電腦都依靠各自唯一的IP地址來標識。

  IP地址構成了整個Internet的基礎,它是如此重要,每一台聯網的電腦無權自行設定IP地址,有一個統一的機構—IANA負責對申請的組織分配唯一的網路ID,而該組織可以對自己的網路中的每一個主機分配一個唯一的主機ID,正如一個單位無權決定自己在所屬城市的街道名稱和門牌號,但可以自主決定本單位內部的各個辦公室編號一樣。

  2. 靜態IP與動態IP

  IP地址是一個32位二進制數的地址,理論上講,有大約40億(2的32次方)個可能的地址組合,這似乎是一個很大的地址空間。實際上,根據網路ID和主機ID的不同位數規則,可以將IP地址分為A(7位網路ID和24位主機ID)、B(14位網路ID和16位主機ID)、C(21位網路ID和8位主機ID)三類,由於歷史原因和技術發展的差異,A類地址和B類地址幾乎分配殆盡,目前能夠供全球各國各組織分配的只有C類地址。所以說IP地址是一種非常重要的網路資源。

  對於一個設立了網際網路服務的組織機構,由於其主機對外開放了諸如WWW、FTP、E-mail等訪問服務,通常要對外公佈一個固定的IP地址,以方便用戶訪問。當然,數字IP不便記憶和識別,人們更習慣於通過域名來訪問主機,而域名實際上仍然需要被域名服務器(DNS)翻譯為IP地址。例如,你的主頁地址是www.myhost.com,用戶可以方便地記憶和使用,而域名服務器會將這個域名翻譯為101.12.123.234,這才是你在網上的真正地址。

  而對於大多數撥號上網的用戶,由於其上網時間和空間的離散性,為每個用戶分配一個固定的IP地址(靜態IP)是非常不可取的,這將造成IP地址資源的極大浪費。因此這些用戶通常會在每次撥通ISP的主機後,自動獲得一個動態的IP地址,該地址當然不是任意的,而是該ISP申請的網路ID和主機ID的合法區間中的某個地址。撥號用戶任意兩次連接時的IP地址很可能不同,但是在每次連接時間內IP地址不變。  

  二、點對點TCP/IP連接

  1. 點對點TCP/IP連接與IP地址

  一個運行TCP/IP協議接入網際網路的電腦必須擁有一個唯一的IP地址,才能與網上的其他電腦進行網路通訊。實際上,在任何時刻Internet連接都能由4個要素來描述:源IP 地址、源地址端口號、目的IP 地址和目的地址端口號。

  2. 點對點TCP/IP連接的間接實現

  由於大多數上網用戶每次上網都自動獲得一個動態的IP地址,這就使兩台電腦之間建立直接、方便的點對點TCP/IP連接存在一定障礙。解決的辦法是通過間接的方式進行連接,即通信雙方同時登錄到某個提供服務的主機上,由該主機建立雙方的間接連接,網路電話、網路尋呼、網路遊戲大都使用這一方法。隨著技術的成熟和發展,這種網路連接服務可以提供諸如網路會議、多方通話、多方遊戲等服務,已經突破了雙機連接的局限。

  3. 點對點TCP/IP連接的直接實現

  支援直接TCP/IP連接的軟體很多,例如微軟的網路電話軟體NetMeeting,唯一的前提就是雙方必須在聯網時相互獲得對方的動態IP地址,或者更簡單地,只要知道被呼叫方的IP地址即可,這類似於知道被叫方的電話號碼即可建立電話聯繫。於是關鍵問題就是捕捉和交換各自的動態IP地址,或者捕捉和發佈自己的動態IP地址以等待呼叫進而建立連接。

  三、動態IP地址的捕捉與發佈

  1. 動態IP地址的捕捉

  有許多方法和工具來實現動態IP地址的捕捉,Windows 95/98提供了一個IP 配置 (WINIPCFG) 實用程式,使用方法是單擊「開始-運行」,在「打開」框中鍵入:winipcfg,出現程式窗口後,可以單擊「詳細信息」進行查看(圖1)。IP配置實用程式允許用戶或管理員查看當前IP地址和其他與網路配置有關的有用信息,有關配置信息包括主機名、DNS服務器、IP地址、網路掩碼等。可以重置一個或多個IP地址。「釋放」或「更新」按鈕分別釋放或更新一個IP地址。如果希望釋放或更新所有IP 地址,請單擊「全部釋放」或「全部更新」。其他工具也可以實現本機IP地址的查詢。

  2.動態IP地址的發佈

  可以將得到的動態IP地址更新到自己的主頁上,這樣所有訪問者都可以通過該地址呼叫主頁的所有者,建立點對點的TCP/IP連接。

  四、動態IP地址捕捉發佈工具—DynamIP

  知道了原理,就可以借助工具來完成這一過程。DynamIP就是一個很好的動態捕捉與發佈工具。DynamIP的主要功能有:

  1. DUN/RAS Dialer with Event Driven Program Launcher:具有事件驅動功能的撥號工具,可根據用戶要求或者自動定時進行撥號,並且可以在諸如「新連接建立」或「連接終止」等事件的驅動下運行/關閉其他應用程式,當網路流量低於設定值時可以自動終止聯結,這對於無人值守下載大軟體時特別有用。

  2. Uploader(Dynamic IP address poster):檔案上載工具(動態IP地址發佈)。DynamIP可以將你的動態IP地址發佈在指定的Web頁面上,並自動地將該頁面上載到服務器。當然也可以用來更新和上載任意檔案,例如用來定期上載圖形檔案,而該檔案是利用數位相機自動定期拍攝的,於是該主頁就成了一個現場直播的頁面。

  3. DIPS Client:DIPS客戶端軟體,DIPS(Dynamic IP Server)是動態IP服務器的簡稱,在申請了一個免費賬戶後,動態IP服務器可以在主頁中顯示一個指向你的動態IP的URL,形式為:http://postmodem.com/dips/<;你的賬戶名>。

  這一功能允許網上用戶通過該URL訪問你的本地主頁,這是指在本地主機安裝的Web服務器(例如個人Web服務器)。當你要調試主頁或者無法找到一個提供滿意的免費主頁服務器,或者你認為上載主頁太浪費時間時,這項功能就顯得尤為重要,目前的虛擬域名服務與此不同的是,虛擬域名服務要求你的主頁必須安放在具有固定域名的主頁服務器上,然後才能提供轉移訪問,而動態IP服務器則可以隨時跟蹤你的動態IP,並將訪問者轉移到你的本地Web服務器上。只要你聯網並且你的本地Web服務器正在運行,DynamIP可以自動地確定你的DIPS信息是否需要更新到動態IP服務器。配合DIPS,用戶可以在不上載任何檔案的情況下進行Web聊天。

  4. POP mail checker:電子信箱檢查,可最多檢查5個不同的POP3賬戶,並在新郵件到來後以可視或聲音信號進行提示,自動運行E-mail客戶端軟體取信。

  5. IP chat:點對點IP聊天,類似IRC,但是不需要任何IRC服務器,DynamIP可以在用戶指定IP地址區間內掃瞄,你可以向所有聊天成員或者特定IP地址廣播消息,你可以向其他聊天成員打招呼以引起對方注意並建立一個私人聊天。DynamIP支援微軟網路電話軟體MS NetMeeting。

  6. WEBchat:Web聊天。你的主頁訪問者可以利用瀏覽器直接與你對話,即使對方沒有安裝DynamIP,前提是你在主頁中安裝了如圖2的頁面,該頁面將被DynamIP動態更新,瀏覽器必須支援forms,Netscape和Internet Explorer,毫無疑問都支援forms。訪問者可以在forms中填寫語句,然後按submit按鈕,該語句被發送到你的電腦(利用DynamIP捕獲的動態IP)。可以與功能3配合實現本地Web聊天,則不必上載主頁到任何服務器。

  7. HTTPscan:HTTP掃瞄。DynamIP可以在用戶指定IP地址區間內掃瞄,並以超文本檔案格式生成一個包含所有被搜索到的HTTP服務器的清單。用途之一是當你與某人進行點對點IP聊天時,你可以立即訪問對方的主頁。

  8. PC Clock Synchronizer:時鐘同步。DynamIP可以從NTP服務器獲得精確的日期和時間以校準你的機器時鐘,另外也可以用來部分地解決「千年蟲」問題。

  五、DynamIP的安裝、設置

  1. DynamIP的安裝

  DynamIP的安裝只有一個條件,那就是你的Windows系統中必須有VB6.0的運行庫—MSVBVM60.DLL。該檔案沒有包含在DynamIP的軟體包中,用戶必須從微軟公司VB官方站點下載,檔案名是Vbrun60new.exe,它是自動安裝檔案,檔案長度為1MB。

  2. DynamIP的設置

  DynamIP的基本原理是很簡單的,DynamIP將利用模板檔案(Template)中的各項形式參數來更新一個本地檔案,該檔案包含了你的當前動態IP地址,然後DynamIP自動上載該檔案到你的個人主頁服務器,於是其他訪問你的主頁的用戶可以利用該頁面上的動態IP地址信息與你建立連接,實現各種網路應用;或者DynamIPS更新你的DIPS信息到動態IP服務器,所有訪問該服務器的用戶可以被轉移到你的本地Web服務器上。所以在設置和準備DynamIP的時候,一切工作都是圍繞這個模板檔案和你的動態IP地址進行的。

  DynamIP的主要功能是Uploader檔案上載工具(動態IP地址發佈),本文將以此為例介紹DynamIP的設置,其他各項功能的設置類似。運行DynamIP,選擇setup-uploader,則進入設置窗口(圖3),各項參數如下:

  Active:打開/關閉此項服務;

  Remote Host:你的主頁所在的FTP主機地址,注意不要填寫主機上的路徑;

  Login:你的FTP賬戶名;

  Password:你的FTP賬戶口令;這三項參數使得DynamIP可以登錄到你的FTP主機,自動上載更新的檔案,通常填寫的是存放主頁的主機地址。

  Template Online:聯機模板檔案,該檔案將用來生成包含你的IP地址的動態本地檔案(LocalFile),模板檔案不會被更新。本地檔案和模板檔案名字不能相同,否則DynamIP不會正常工作。如果此項填寫「」,則DynamIP將上載未更新的本地檔案,可以用來上載數位相機拍攝的圖片進行動態直播,參看「refresh every」。

  Template OFFline:脫機模板檔案,通常與聯機模板相同,如果你想在脫機之前上載一個不同的頁面,你可以選擇一個不同的模板檔案,此項可以填寫「」,功能同上。

  Local File:本地動態檔案的路徑和檔案名,以聯機或者脫機模板檔案為樣式更新的檔案,包含用戶當前動態IP地址等信息。

  Remote File:存放在FTP服務器上的遠程動態檔案的路徑和檔案名,本地動態檔案將上載和覆蓋該檔案,不要填寫服務器的域名或者IP地址。

  IP:聯機模板檔案中的IP地址形式參數,該參數將在聯機時被用戶當前的動態IP地址所替換,DynamIP預設的形式參數是NOT.ON.LINE.NOW,通常沒有必要改動,若改動,則此項內容必須與模板檔案中的形式參數名完全相同。模板檔案中還包含了其他形式參數,如IP、DateTime、WEBchat、HTTP Server、FTP Server,這些形式參數都將在聯機時被DynamIP自動替換,因此最好不要隨便改動,即使改動,也要注意每個形式參數的名稱不得相同

  ,並且各項內容必須與模板檔案中的形式參數名完全相同。

  post last IP(OFFline):張貼上次IP地址,脫機模板檔案中代表上次IP地址的形式參數,預設值為( is the default value)。此項內容必須與模板檔案中的形式參數名完全相同。

  DateTime:聯機模板檔案中的日期時間形式參數。

  HTTP Server/Port:聯機模板檔案中的HTTP服務器/端口形式參數,這裡的HTTP服務器系建立在本地主機上的HTTP服務器(例如個人Web服務器),DynamIP用你的當前動態IP地址替換該參數,以便將訪問者轉移到你的本地Web服務器。預設值為:「default value is HTTP Server NOT available. 」預設端口值為:80。

  FTP Server/Port:聯機模板檔案中的FTP服務器/端口形式參數,含義同上,只是服務器為本地FTP服務器。預設值為:「FTP Server NOT available」,預設端口值為:21。

  FTP UserID:聯機模板檔案中的FTP用戶ID形式參數,預設值為:「anonymous」,可以改變為其他賬戶名。

  六、DynamIP應用實例

  假如網上任意兩個用戶(實際上是電腦)能夠相互知道對方的IP地址,則雙方就能利用TCP/IP建立直接的點對點網上連接,進行信息溝通。更進一步,主叫方只要獲得了被叫方的IP地址,就可以發出呼叫、建立連接、實現應用,如利用網路電話直接通話或者發送檔案。DynamIP正是抓住了建立點對點IP連接的關鍵環節,捕捉並發佈用戶的當前動態IP地址,以便接收其他用戶的呼叫。以下為DynamIP應用舉例。

  1. 點對點網路電話

  在主頁中添加下面一行語句:

  我正在網上,請給我打電話

  若訪問者通過IE瀏覽器訪問該頁面,點擊該超連結將會運行網路電話軟體NetMeeting呼叫IP地址為111.222.123.123的電腦,如果對方的NetMeeting處於等待狀態,則可以接收到呼叫,並進行通話。

  微軟公司的瀏覽器支援callto協議,可以用NetMeeting呼叫該超連結指定的IP地址。但是Netscape的瀏覽器不支援callto,解決的辦法是改為一個指向快速撥號檔案的超連結,這樣無論是在IE還是在Netscape中,打開該撥號檔案都會運行網路電話軟體NetMeeting。

  語句如下:

   我正在網上,請給我打電話

  這裡ls.cnf是一個NetMeeting的快速撥號檔案,記錄了被叫方的IP地址,內容如下:

  [ConferenceShortcut]

  ConfName=111.222.123.123

  Address=111.222.123.123

  CallFlags=65543

  Transport=1

  類似的語句還有:click here to call me,可以激活Vocaltech Iphone。

  以上工作可以直接利用DynamIP的聯機模板檔案(圖2)來實現,DynamIP將利用模板檔案更新本地動態檔案,上載並覆蓋遠程動態檔案,主頁的訪問者看到的是包含當前IP地址的超連結,點擊超連結將會激活網路電話軟體,建立點對點網路電話連接服務。網路電話NetMeeting支援利用服務器實現的間接連接和呼叫對方IP地址的直接點對點連接,這裡使用的是後者。如果你上載了脫機檔案,訪問者將得知你不在網上。

  2. IP chat:點對點IP聊天(圖4),類似IRC,但是不需要任何IRC服務器,因為雙方已經知道IP地址。注意要在Setup--pchat中打開Active。工具欄中有用於呼叫、掃瞄、睡眠/喚醒的各項功能按鈕。

  3. WEBchat:Web聊天,你的主頁訪問者可以利用瀏覽器直接與你對話(圖5),即使對方沒有安裝DynamIP,前提是你在主頁中安裝了如圖2的頁面,該頁面將被DynamIP動態更新。

  用戶可以決定上載聯機檔案或者脫機檔案,以便及時通知訪問者自己是否聯網。

  4. 動態IP的個人Web服務器:若已經在本地主機安裝了個人Web服務器,可以利用DIPS服務,將訪問者轉移到你的本地主機。這需要申請一個免費賬戶。網址是:

  http://postmodem.com/dips-admin/

  七、總結與提示

  DynamIP可以捕獲和發佈用戶的當前動態IP地址,從而使點對點的IP連接成為可能,這些是網路傳呼軟體無法做到的。另外,對於每一種基本功能,如果能夠巧妙地結合其他方法,往往能實現更複雜的應用。例如,你是否想過在運行TCP/IP的局域網上使用DynamIP的強大功能呢?

  同時應該注意到,DynamIP更像是為高級網路用戶準備的發燒級工具。在網上公佈自己的動態IP地址固然有利於溝通,但同時也帶來了相當大的風險,因為黑客用以搜索和攻擊目標的坐標就是IP地址,許多流行黑客工具甚至只需要一個輸入參數—你的IP地址。因此,最好不要在存放重要資料的電腦上進行這些高級網路應用試驗。

獻花 x0