n 網絡經常使用命令的使用html
1、windows命令java
不一樣的操做系統要用不一樣的命令進入命令行界面。web
在Win9x/Me的開始菜單中的運行程序中鍵入"command"命令,可進入命令行界面。在Win2000/NT的開始菜單中的運行程序中鍵入"cmd"命令,可進入命令行界面。數據庫
開始——〉運行——〉鍵入cmd命令或command命令——〉回車編程
進入了命令行操做界面(DOS窗口),在DOS窗口中只能用鍵盤來操做。以下所示:windows
2、網絡經常使用命令的做用與格式api
瞭解和掌握網絡經常使用命令將會有助於更快地檢測到網絡故障所在,從而節省時間,提升效率。網絡命令數量比較多,在本次實驗中咱們學習的網絡命令是爲數很少的一些經常使用網絡命令。瀏覽器
因爲每一個網絡命令都有不一樣的做用,爲了更好地掌握這些網絡經常使用命令應該瞭解這些命令的基本格式,基本格式以下:緩存
網絡命令 參數1參數2參數3參數…安全
查看這些參數的方法是在網絡命令後加「/?」,如要查看ping命令的參數能夠輸入ping/?顯示以下:
【實驗目的】
1、掌握網絡經常使用命令的使用;
2、利用網絡經常使用命令對網絡中常見現象進行分析判斷。
【實驗內容】
1、掌握PING命令的基本使用方法(包括參數的使用),對網絡常見故障利用命令進行分析判斷:
Ping是測試網絡聯接情況以及信息包發送和接收情況很是有用的工具,是網絡測試最經常使用的命令。Ping向目標主機(地址)發送一個回送請求數據包,要求目標主機收到請求後給予答覆,從而判斷網絡的響應時間和本機是否與目標主機(地址)聯通。
若是執行Ping不成功,則能夠預測故障出如今如下幾個方面:網線故障,網絡適配器配置不正確,IP地址不正確。若是執行Ping成功而網絡仍沒法使用,那麼問題極可能出在網絡系統的軟件配置方面,Ping成功只能保證本機與目標主機間存在一條連通的物理路徑。
命令格式:
ping IP地址或主機名 [-t] [-a] [-n count] [-l size]
經常使用參數含義:
-t不停地向目標主機發送數據;
-a 以IP地址格式來顯示目標主機的網絡地址 ;
-n count 指定要Ping多少次,具體次數由count來指定 ;
-l size 指定發送到目標主機的數據包的大小。
2、用Tracert命令用來顯示數據包到達目標主機所通過的路徑,並顯示到達每一個節點的時間,分析網絡延時產生的緣由。
Tracert命令用來顯示數據包到達目標主機所通過的路徑,並顯示到達每一個節點的時間。命令功能同Ping相似,但它所得到的信息要比Ping命令詳細得多,它把數據包所走的所有路徑、節點的IP以及花費的時間都顯示出來。該命令比較適用於大型網絡。
命令格式:
tracert IP地址或主機名 [-d][-h maximumhops][-j host_list] [-w timeout]
參數含義:
-d 不解析目標主機的名字;
-h maximum_hops 指定搜索到目標地址的最大跳躍數;
-j host_list 按照主機列表中的地址釋放源路由;
-w timeout 指定超時時間間隔,程序默認的時間單位是毫秒。
例如你們想要了解本身的計算機與目標主機www.163.com之間詳細的傳輸路徑信息,能夠在MS-DOS方式輸入www.163.com。
若是咱們在Tracert命令後面加上一些參數,還能夠檢測到其餘更詳細的信息,例如使用參數-d,能夠指定程序在跟蹤主機的路徑信息時,同時也解析目標主機的域名。
3、利用Netstat命令瞭解網絡的總體使用狀況。顯示當前正在活動的網絡鏈接的詳細信息,例如顯示網絡鏈接、路由表和網絡接口信息,統計目前總共有哪些網絡鏈接正在運行。
Netstat命令能夠幫助網絡管理員瞭解網絡的總體使用狀況。它能夠顯示當前正在活動的網絡鏈接的詳細信息,例如顯示網絡鏈接、路由表和網絡接口信息,能夠統計目前總共有哪些網絡鏈接正在運行。
利用命令參數,命令能夠顯示全部協議的使用狀態,這些協議包括TCP協議、UDP協議以及IP協議等,另外還能夠選擇特定的協議並查看其具體信息,還能顯示全部主機的端口號以及當前主機的詳細路由信息。
命令格式:
netstat [-r] [-s] [-n] [-a]
參數含義:
-a 顯示全部鏈接和偵聽端口。
-b 顯示在建立每一個鏈接或偵聽端口時涉及的可執行程序。
在某些狀況下,已知可執行程序承載多個獨立的組件,這些狀況下,顯示建立鏈接或偵聽端口時涉及的組件序列。此狀況下,可執行程序的名稱位於底部[]中,它調用的組件位於頂部,直至達到 TCP/IP。注意,此選項可能很耗時,而且在您沒有足夠權限時可能失敗。
-e 顯示以太網統計。此選項能夠與 -s 選項結合使用。
-f 顯示外部地址的徹底限定域名(FQDN)。
-n 以數字形式顯示地址和端口號。
-o 顯示擁有的與每一個鏈接關聯的進程 ID。
-p proto 顯示 proto 指定的協議的鏈接;proto 能夠是下列任何一個: TCP、UDP、TCPv6 或 UDPv6。若是與 -s 選項一塊兒用來顯示每一個協議的統計,proto 能夠是下列任何一個: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP或 UDPv6。
-r 顯示路由表。
-s 顯示每一個協議的統計。默認狀況下,顯示IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6的統計;-p 選項可用於指定默認的子網。
-t 顯示當前鏈接卸載狀態。
interval 從新顯示選定的統計,各個顯示間暫停的間隔秒數。
按 CTRL+C 中止從新顯示統計。若是省略,則 netstat將打印當前的配置信息一次。
4、利用IPCONFIG命令顯示全部當前的TCP/IP網絡配置值、刷新動態主機配置協議 (DHCP) 和域名系統 (DNS) 設置。 使用不帶參數的IPCONFIG顯示全部適配器的 IP 地址、子網掩碼、默認網關。
命令格式:
Ipconfig[/all][/batch file][/renew all][/release all][/renew n][/release n]
參數含義:
/? 顯示幫助信息
/all 顯示現時全部網絡鏈接的設置
/release 釋放某一個網絡上的IP位置
/renew 更新某一個網絡上的IP位置
/flushdns 把DNS解析器的暫存內容全數刪除
5、利用ARP肯定對應IP地址的網卡物理地址。查看本地計算機或另外一臺計算機的ARP高速緩存中的當前內容。
在以太網協議中規定,同一局域網中的一臺主機要和另外一臺主機進行直接通訊,必需要知道目標主機的MAC地址。而在TCP/IP協議棧中,網絡層和傳輸層只關心目標主機的IP地址。這就致使在以太網中使用IP協議時,數據鏈路層的以太網協議接到上層IP協議提供的數據中,只包含目的主機的IP地址。因而須要一種方法,根據目的主機的IP地址,得到其MAC地址。這就是ARP協議要作的事情。所謂地址解析(address resolution)就是主機在發送幀前將目標IP地址轉換成目標MAC地址的過程。
另外,當發送主機和目的主機不在同一個局域網中時,即使知道目的主機的MAC地址,二者也不能直接通訊,必須通過路由轉發才能夠。因此此時,發送主機經過ARP協議得到的將不是目的主機的真實MAC地址,而是一臺能夠通往局域網外的路由器的MAC地址。因而此後發送主機發往目的主機的全部幀,都將發往該路由器,經過它向外發送。這種狀況稱爲ARP代理(ARP Proxy)
命令格式:
arp[-a [InetAddr] [-N IfaceAddr]] [-g [InetAddr] [-N IfaceAddr]] [-d InetAddr [IfaceAddr]] [-s InetAddr EtherAddr [IfaceAddr]]
參數含義:
-a[ InetAddr] [ -N IfaceAddr] 顯示全部接口的當前 ARP 緩存表。要顯示特定 IP 地址的 ARP 緩存項,請使用帶有 InetAddr 參數的 arp -a,此處的 InetAddr 表明 IP 地址。若是未指定 InetAddr,則使用第一個適用的接口。要顯示特定接口的 ARP 緩存表,請將 -N IfaceAddr 參數與 -a 參數一塊兒使用,此處的 IfaceAddr 表明指派給該接口的 IP 地址。-N 參數區分大小寫。
-g[ InetAddr] [ -N IfaceAddr] 與 -a 相同。
-d InetAddr [IfaceAddr] 刪除指定的 IP 地址項,此處的 InetAddr 表明 IP 地址。對於指定的接口,要刪除表中的某項,請使用 IfaceAddr 參數,此處的 IfaceAddr 表明指派給該接口的 IP 地址。要刪除全部項,請使用星號 (*) 通配符代替 InetAddr。
-s InetAddr EtherAddr [IfaceAddr] 向 ARP 緩存添加可將 IP 地址 InetAddr 解析成物理地址 EtherAddr 的靜態項。要向指定接口的表添加靜態 ARP 緩存項,請使用 IfaceAddr 參數,此處的 IfaceAddr 表明指派給該接口的 IP 地址。
/? 在命令提示符下顯示幫助。
6、課上補充講解其餘網絡命令的使用。
【實驗方式】現場參觀並由實驗指導教師講解、演示;分組討論與實踐。
【實驗地點】學院實驗室。
【實驗報告】1 在實驗報告中寫出網絡經常使用命令的操做過程及效果,分析並總結實驗中遇到的問題,寫出實驗體會。
n 2 DNS層次查詢、SMTP協議分析
【實驗前須要學習掌握的知識】
1、掌握DNS基本構成原理及三層結構。
2、電子郵件系統的構成,包含在發送方、接收方進行郵件傳遞涉及的各類協議及協議構成,區分SMTP協議與郵件消息格式的異同點。
3、瞭解經常使用捕包軟件。捕包軟件不但能夠分析數據包的流向,也能夠對數據包的內容進行監聽,能夠觀察TCP/IP協議族中應用層、傳輸層、網絡層、數據鏈路層和有關網絡安全的各類協議的活動。
【實驗目的】
1、瞭解和掌握DNS層次結構,利用NSLOOKUP命令對DNS層次結構進行訪問;
2、瞭解電子郵件系統發送及接受處理過程,對SMTP協議進行分析;
3、掌握捕包軟件ethereal的使用,瞭解網絡協議實體間進行交互以及報文交換的狀況;
【實驗內容】
1、熟練掌握nslookup命令,並對nslookup命令的參數進行熟練掌握。
具體參數: nslookup –qt=類型 目標域名
注意qt必須小寫。類型能夠是一下字符,不區分大小寫:
A 地址記錄(Ipv4)
AAAA 地址記錄(Ipv6)
AFSDB Andrew文件系統數據庫服務器記錄
ATMA ATM地址記錄
CNAME 別名記錄
HINFO 硬件配置記錄,包括CPU、操做系統信息
ISDN 域名對應的ISDN號碼
MB 存放指定郵箱的服務器
MG 郵件組記錄
MINFO 郵件組和郵箱的信息記錄
MR 更名的郵箱記錄
MX 郵件服務器記錄
NS 名字服務器記錄
PTR 反向記錄(從IP地址解釋域名)
RP 負責人記錄
RT 路由穿透記錄
SRV TCP服務器信息記錄
TXT 域名對應的文本信息
X25 域名對應的X.25地址記錄
實驗具體內容要求:到網上查找13個根名稱的IP;任選一個根名稱服務器,利用NSLOOKUP,在根名稱服務器、頂級域名稱服務器、權威名稱服務器上,手動逐級進行NDS解析,並進行記錄和分析;在本地名稱服務器,利用NSLOOKUP,手動逐級進行NDS解析,並進行記錄和分析。
2、 利用TELNET進行SMTP的郵件發送。
具體要求:鏈接smtp服務器->發命令"HELO <host_name>" ->發命令"AUTH LOGIN",而後服務器會以base64編碼後的形式提示輸入用戶名->以base64編碼後的形式輸入用戶名,若是用戶名合法,服務器提示輸入口令形式爲「334 ******」->以base64編碼後的形式輸入口令。若是檢驗正確,服務器會返回"235 Authentication successful";編輯電子郵件(注意區分SMTP協議格式與郵件格式),利用SMTP協議進行收發電子郵件;觀察並分析收發過程及協議信息。編碼軟件見Centri64.zip。利用TELNET進行POP3郵件接收。
簡單示例:
TELENT 郵件服務器IP 25
HELO LIU
AUTH LOGIN
*******(輸入以base64編碼後用戶名)
***********(輸入以base64編碼後密碼)
MAIL FROM:<發送方的郵件地址>
RCPT TO:<接收方的郵件地址>
DATA
FROM:發送方郵箱
TO:接收方郵箱
SUBJECT:LIU
liuyang like Philatelic!
.(這個點與回車,必須的)
QUIT
3、熟練掌握抓包軟件ethereal。
要深刻理解網絡協議,須要觀察它們的工做並使用它們,即觀察兩個協議實體之間交換的報文序列,探究協議操做的細節,使協議實體執行某些動做,觀察這些動做及其影響。這些任務能夠在仿真環境下或在如因特網這樣的真實網絡環境中完成。
觀察在正在運行協議實體間交換報文的基本工具被稱爲分組嗅探器(packet sniffer)。一個分組嗅探器俘獲(嗅探)由你的計算機發送和接收的報文。通常狀況下,分組嗅探器將存儲和顯示出被俘獲報文的各協議字段的內容。圖1顯示了一個分組嗅探器的結構。
圖1右邊是計算機上正常運行的協議(w在這裏是因特網協議)和應用程序(如:web瀏覽器和ftp客戶端)。分組嗅探器(虛線框中的部分)是附加計算機普通軟件上的,主要有兩部分組成。分組俘獲庫(packet capture library)接收計算機發送和接收的每個鏈路層幀的拷貝。高層協議(如:HTTP、FTP、TCP、UDP、DNS、IP等)交換的報文都被封裝在鏈路層幀中,並沿着物理媒體(如以太網的電纜)傳輸。圖1假設所使用的物理媒體是以太網,而且上層協議的報文最終封裝在以太網幀中。
分組嗅探器的第二個組成部分是分組分析器。分組分析器用來顯示協議報文全部字段的內容。爲此,分組分析器必須可以理解協議所交換的全部報文的結構。例如:咱們要顯示圖1中HTTP協議所交換的報文的各個字段。分組分析器理解以太網幀格式,可以識別包含在幀中的IP數據報。分組分析器也要理解IP數據報的格式,並能從IP數據報中提取出TCP報文段。而後,它須要理解TCP報文段,並可以從中提取出HTTP消息。最後,它須要理解HTTP消息。
Ethereal是一種能夠運行在Windows, UNIX, Linux等操做系統上的分組分析器。Ethereal是免費的,能夠從Http://www.ethereal.com獲得。
運行ethereal程序時,其圖形用戶界面如圖2所示。最初,各窗口中並沒有數據顯示。ethereal的界面主要有五個組成部分:
命令菜單(command menus):命令菜單位於窗口的最頂部,是標準的下拉式菜單。最經常使用菜單命令有兩個:File、Capture。File菜單容許你保存俘獲的分組數據或打開一個已被保存的俘獲分組數據文件或退出ethereal程序。Capture菜單容許你開始俘獲分組。
俘獲分組列表(listing of captured packets):按行顯示已被俘獲的分組內容,其中包括:ethereal賦予的分組序號、俘獲時間、分組的源地址和目的地址、協議類型、分組中所包含的協議說明信息。單擊某一列的列名,可使分組列表按指定列進行排序。在該列表中,所顯示的協議類型是發送或接收分組的最高層協議的類型。
分組首部明細(details of selected packet header):顯示俘獲分組列表窗口中被選中分組的頭部詳細信息。包括:與以太網幀有關的信息,與包含在該分組中的IP數據報有關的信息。單擊以太網幀或IP數據報所在行左邊的向右或向下的箭頭能夠展開或最小化相關信息。另外,若是利用TCP或UDP承載分組,ethereal也會顯示TCP或UDP協議頭部信息。最後,分組最高層協議的頭部字段也會顯示在此窗口中。
分組內容窗口(packet content):以ASCII碼和十六進制兩種格式顯示被俘獲幀的完整內容。
顯示篩選規則(display filter specification):在該字段中,能夠填寫協議的名稱或其餘信息,根據此內容能夠對分組列表窗口中的分組進行過濾。
實驗步驟
(1)啓動主機上的web瀏覽器。
(2)啓動ethereal。會看到如圖2所示的窗口,只是窗口中沒有任何分組列表。
(3)開始分組俘獲:選擇「capture」下拉菜單中的「Start」命令,會出現如圖3所示的「Ethereal: Capture Options」窗口,能夠設置分組俘獲的選項。
(4)在實驗中,可使用窗口中顯示的默認值。在「Ethereal: Capture Options」窗口的最上面有一個「interface」下拉菜單,其中顯示計算機所具備的網絡接口(即網卡)。當計算機具備多個活動網卡時,須要選擇其中一個用來發送或接收分組的網絡接口(如某個有線接口)。隨後,單擊「ok」開始進行分組俘獲,全部由選定網卡發送和接收的分組都將被俘獲。
(5)開始分組俘獲後,會出現如圖4所示的分組俘獲統計窗口。該窗口統計顯示各種已俘獲分組的數量。在該窗口中有一個「stop」按鈕,能夠中止分組的俘獲。但此時最好不要中止俘獲分組。
(6)在運行分組俘獲的同時,在瀏覽器地址欄中輸入某網頁的URL,如:
http://www2.sdai.edu.cn爲顯示該網頁,瀏覽器須要鏈接www2.sdai.edu.cn的服務器,並與之交換HTTP報文,如下載該網頁。包含這些HTTP報文的以太網幀將被Ethereal俘獲。
(7)當完整的頁面下載完成後,單擊Ethereal俘獲窗口中的stop按鈕,中止分組俘獲。此時,分組俘獲窗口關閉。Ethereal主窗口顯示已俘獲的你的計算機與其餘網絡實體交換的全部協議報文,其中一部分就是與www2.sdai.edu.cn服務器交換的HTTP報文。此時主窗口與圖2類似。
(8)在顯示篩選規則中輸入「http」,單擊「apply」,分組列表窗口將只顯示HTTP協議報文。
(9)選擇分組列表窗口中的第一條http報文。它應該是你的計算機發向www2.sdai.edu.cn服務器的HTTP GET報文。當你選擇該報文後,以太網幀、IP數據報、TCP報文段、以及HTTP報文首部信息都將顯示在分組首部子窗口中。單擊分組首部詳細信息子窗口中向右和向下箭頭,能夠最小化幀、以太網、IP、TCP信息顯示量,能夠最大化HTTP協議相關信息的顯示量。其結果與圖5類似。
(10)退出Ethereal。
【實驗方式】由實驗指導教師講解、演示;分組討論與實踐。
【實驗地點】學院實驗室。
【實驗報告】在實驗報告中寫出DNS層次查詢的實現過程、利用SMTP協議實現接發郵件的過程、回答捕包實驗中所提問題。分析並總結實驗中遇到的問題,寫出實驗體會。
(1)列出在第7步中分組列表子窗口所顯示的全部協議類型。
(2)從發出HTTP GET報文到接收到HTTP OK響應報文共須要多長時間?(在默認的狀況下,分組列表窗口中Time列的值是從Ethereal開始追蹤到分組被俘獲的總的時間數,以秒爲單位。若要按time-of-day格式顯示Time列的值,需選擇View下拉菜單,再選擇Time Display Format,而後選擇Time-of-day。)
(3)你主機的IP地址是什麼?你所訪問的主頁所在服務器的IP地址是什麼?
(4)寫出兩個第9步所顯示的HTTP報文頭部行信息。
n
3利用ethereal分別對TCP套接字的實現及UDP套接字的實現捕包分析
安裝java虛擬機。熟悉捕包軟件的使用,進行相應的捕包。具體程序上課時拷貝。
TCP客戶端套接字程序1
import java.io.*;
import java.net.*;
class TCPClient{
public static void main(String argv[]) throws Exception
{
String sentence;
String modifiedSentence;
BufferedReader inFromUser =
new BufferedReader(
new InputStreamReader(System.in));
Socket ClientSocket = new Socket("你同窗機器的IP",6789);
DataOutputStream outToServer =
new DataOutputStream(
ClientSocket.getOutputStream());
BufferedReader inFromServer =
new BufferedReader(new InputStreamReader(
ClientSocket.getInputStream()));
sentence =inFromUser.readLine();
outToServer.writeBytes(sentence + '\n');
modifiedSentence = inFromServer.readLine();
System.out.println("FROM SERVER:"+
modifiedSentence);
ClientSocket.close();
}
}
TCP服務器端套接字程序2
import java.io.*;
import java.net.*;
class TCPServer{
public static void main(String argv[]) throws Exception
{
String ClientSentence;
String capitalizedSentence;
ServerSocket welcomeSocket = new ServerSocket(6789);
while(true){
Socket connectionSocket = welcomeSocket.accept();
BufferedReader inFromClient =
new BufferedReader(new InputStreamReader(
connectionSocket.getInputStream()));
DataOutputStream outToClient =
new DataOutputStream(
connectionSocket.getOutputStream());
ClientSentence = inFromClient.readLine();
capitalizedSentence =
ClientSentence.toUpperCase() + '\n';
outToClient.writeBytes(capitalizedSentence);
}
}
}
UDP客戶端套接字程序3
import java.io.*;
import java.net.*;
class UDPClient {
public static void main(String args[]) throws Exception
{
BufferedReader inFromUser =
new BufferedReader(new InputStreamReader(System.in));
DatagramSocket clientSocket = new DatagramSocket();
InetAddress IPAddress = InetAddress.getByName("你同窗機器的IP");
byte[] sendData = new byte[1024];
byte[] receiveData = new byte[1024];
String sentence = inFromUser.readLine();
sendData = sentence.getBytes();
DatagramPacket sendPacket =
new DatagramPacket(sendData, sendData.length,
IPAddress,9876);
clientSocket.send(sendPacket);
DatagramPacket receivePacket =
new DatagramPacket(receiveData, receiveData.length);
clientSocket.receive(receivePacket);
String modifiedSentence=
new String(receivePacket.getData());
System.out.println("FROM SERVER:" + modifiedSentence);
clientSocket.close();
}
}
UDP服務器端套接字程序4
import java.io.*;
import java.net.*;
class UDPServer {
public static void main(String args[]) throws Exception
{
DatagramSocket serverSocket = new DatagramSocket(9876);
byte[] receiveData = new byte[1024];
byte[] sendData = new byte[1024];
while(true)
{
DatagramPacket receivePacket =
new DatagramPacket(receiveData, receiveData.length);
serverSocket.receive(receivePacket);
String sentence = new String(receivePacket.getData());
InetAddress IPAddress = receivePacket.getAddress();
int port = receivePacket.getPort();
String capitalizedSentence = sentence.toUpperCase();
sendData = capitalizedSentence.getBytes();
DatagramPacket sendPacket =
new DatagramPacket(sendData, sendData.length,
IPAddress,port);
serverSocket.send(sendPacket);
}
}
}
n
4利用ethereal分析協議HTTP、FTP和DNS
1、 實驗目的
一、 分析HTTP協議
二、 分析DNS協議
2、 實驗環境
與因特網鏈接的計算機網絡系統;主機操做系統爲windows;Ethereal、IE等軟件。
3、 實驗步驟
一、 HTTP GET/response交互
首先經過下載一個很是簡單的HTML文件(該文件很是短,而且不嵌入任何對象)。
(1) 啓動Web browser。
(2) 啓動Ethereal分組嗅探器。在窗口的顯示過濾說明處輸入「http」,分組列表子窗口中將只顯示所俘獲到的HTTP報文。
(3) 一分鐘之後,開始Ethereal分組俘獲。
(4) 在打開的Web browser窗口中輸入一下地址(瀏覽器中將顯示一個只有一行文字的很是簡單的HTML文件):
http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file1.html
(5) 中止分組俘獲。
窗口如圖1所示。根據俘獲窗口內容,回答「4、實驗報告內容」中的1-6題。
圖1分組俘獲窗口
二、 HTTP 條件GET/response交互
(1) 啓動瀏覽器,清空瀏覽器的緩存(在瀏覽器中,選擇「工具」菜單中的「Internet選項」命令,在出現的對話框中,選擇「刪除文件」)。
(2) 啓動Ethereal分組俘獲器。開始Ethereal分組俘獲。
(3) 在瀏覽器的地址欄中輸入如下URL: http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file2.html,你的瀏覽器中將顯示一個具備五行的很是簡單的HTML文件。
(4) 在你的瀏覽器中從新輸入相同的URL或單擊瀏覽器中的「刷新」按鈕。
(5) 中止Ethereal分組俘獲,在顯示過濾篩選說明處輸入「http」,分組列表子窗口中將只顯示所俘獲到的HTTP報文。
根據操做回答「4、實驗報告內容」中的7-10題。
三、 獲取長文件
(1) 啓動瀏覽器,將瀏覽器的緩存清空。
(2) 啓動Ethereal分組俘獲器。開始Ethereal分組俘獲。
(3) 在瀏覽器的地址欄中輸入如下URL: http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file3.html,瀏覽器將顯示一個至關大的美國權力法案。
(4) 中止Ethereal分組俘獲,在顯示過濾篩選說明處輸入「http」,分組列表子窗口中將只顯示所俘獲到的HTTP報文。
根據操做回答「4、實驗報告內容」中的11-13題。
四、 嵌有對象的HTML文檔
(1) 啓動瀏覽器,將瀏覽器的緩存清空。
(2) 啓動Ethereal分組俘獲器。開始Ethereal分組俘獲。
(3) 在瀏覽器的地址欄中輸入如下URL: http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file4.html,瀏覽器將顯示一個具備兩個圖片的短HTTP文件
(4) 中止Ethereal分組俘獲,在顯示過濾篩選說明處輸入「http」,分組列表子窗口中將只顯示所俘獲到的HTTP報文。
根據操做回答「4、實驗報告內容」中的14-15題。
五、 HTTP認證
(1) 啓動瀏覽器,將瀏覽器的緩存清空。
(2) 啓動Ethereal分組俘獲器。開始Ethereal分組俘獲。
(3) 在瀏覽器的地址欄中輸入如下URL: http://gaia.cs.umass.edu/ethereal-labs/protected_pages/HTTP-ethereal-file5.html,瀏覽器將顯示一個HTTP文件,輸入所須要的用戶名和密碼(用戶名:eth-students,密碼:networks)。
(4) 中止Ethereal分組俘獲,在顯示過濾篩選說明處輸入「http」,分組列表子窗口中將只顯示所俘獲到的HTTP報文。
根據操做回答「4、實驗報告內容」中的16-17題。
六、 跟蹤DNS
nslookup工具容許運行該工具的主機向指定的DNS服務器查詢某個DNS記錄。若是沒有指明DNS服務器,nslookup將把查詢請求發向默認的DNS服務器。其命令的通常格式是:
nslookup –option1 –option2 host-to-find dns-server
ipconfig命令用來顯示你當前的TCP/IP信息,包括:你的地址、DNS服務器的地址、適配器的類型等信息。若是,要顯示與主機相關的信息用命令:
ipconfig/all
若是查看DNS緩存中的記錄用命令:
ipconfig/displaydns
要清空DNS緩存,用命令:
ipconfig /flushdns
運行以上命令須要進入MSDOS環境。
(1) 利用ipconfig命令清空你的主機上的DNS緩存。
(2) 啓動瀏覽器,將瀏覽器的緩存清空。
(3) 啓動Ethereal分組俘獲器,在顯示過濾篩選說明處輸入「ip.addr==your_IP_address」(如:ip.addr==10.17.7.23),過濾器將會刪除全部目的地址和源地址都與指定IP地址不一樣的分組。
(4) 開始Ethereal分組俘獲。
(5) 在瀏覽器的地址欄中輸入:http://www.ietf.org
(6) 中止分組俘獲。
根據操做回答「4、實驗報告內容」中的18-24題。
(7) 開始Ethereal分組俘獲。
(8) 在www.mit.edu上進行nslookup(即執行命令:nslookup www.mit.edu)。
(9) 中止分組俘獲。
根據操做回答「4、實驗報告內容」中的25-28題。
(10) 重複上面的實驗,只是將命令替換爲:nslookup –type=NS mit.edu
根據操做回答「4、實驗報告內容」中的29-31題。
(11) 重複上面的實驗,只是將命令替換爲:nslookup www.aiit.or.kr bitsy.mit.edu
根據操做回答「4、實驗報告內容」中的32-34題。
4、 實驗報告內容(所有問題必須實際操做並思考,能夠選作8道題)
在實驗的基礎上,回答如下問題:
(1)你的瀏覽器運行的是HTTP1.0,仍是HTTP1.1?你所訪問的服務器所運行的HTTP版本號是多少?
(2)你的瀏覽器向服務器指出它能接收何種語言版本的對象?
(3)你的計算機的IP地址是多少?服務器gaia.cs.umass.edu的IP地址是多少?
(4)從服務器向你的瀏覽器返回的狀態代碼是多少?
(5)你從服務器上所獲取的HTML文件的最後修改時間是多少?
(6)返回到你的瀏覽器的內容以供多少字節?
(7)分析你的瀏覽器向服務器發出的第一個HTTP GET請求的內容,在該請求報文中,是否有一行是:IF-MODIFIED-SINCE?
(8)分析服務器響應報文的內容,服務器是否明確返回了文件的內容?如何獲知?
(9)分析你的瀏覽器向服務器發出的第二個「HTTP GET」請求,在該請求報文中是否有一行是:IF-MODIFIED-SINCE?若是有,在該首部行後面跟着的信息是什麼?
(10)服務器對第二個HTTP GET請求的響應中的HTTP狀態代碼是多少?服務器是否明確返回了文件的內容?請解釋。
(11)你的瀏覽器一共發出了多少個HTTP GET請求?
(12)承載這一個HTTP響應報文一共須要多少個data-containing TCP報文段?
(13)與這個HTTP GET請求相對應的響應報文的狀態代碼和狀態短語是什麼?
(14)你的瀏覽器一共發出了多少個HTTP GET請求?這些請求被髮送到的目的地的IP地址是多少?
(15)瀏覽器在下載這兩個圖片時,是串行下載仍是並行下載?請解釋。
(16)對於瀏覽器發出的最初的HTTP GET請求,服務器的響應是什麼(狀態代碼和狀態短語)?
(17)當瀏覽器發出第二個HTTP GET請求時,在HTTP GET報文中包含了哪些新的字段?
(18)定位到DNS查詢報文和查詢響應報文,這兩種報文的發送是基於UDP仍是基於TCP的?
(19)DNS查詢報文的目的端口號是多少?DNS查詢響應報文的源端口號是多少?
(20)DNS查詢報文發送的目的地的IP地址是多少?利用ipconfig命令(ipconfig/all)決定你主機的本地DNS服務器的IP地址。這兩個地指相同嗎?
(21)檢查DNS查詢報文,它是哪一類型的DNS查詢?該查詢報文中包含「answers」嗎?
(22)檢查DNS查詢響應報文,其中提供了多少個「answers」?每一個answers包含哪些內容?
(23)考慮一下你的主機發送的subsequent(併發)TCP SYN分組, SYN分組的目的IP地址是否與在DNS查詢響應報文中提供的某個IP地址相對應?
(24)打開的WEB頁中包含圖片,在獲取每個圖片以前,你的主機發出新的DNS查詢了嗎?
(25)DNS查詢報文的目的端口號是多少?DNS查詢響應報文的源端口號是多少?
(26)DNS查詢報文發送的目的地的IP地址是多少?這個地址是你的默認本地DNS服務器的地址嗎?
(27)檢查DNS查詢報文,它是哪一類型的DNS查詢?該查詢報文中包含「answers」嗎?
(28)檢查DNS查詢響應報文,其中提供了多少個「answers」?每一個answers包含哪些內容?
(29)DNS查詢報文發送的目的地的IP地址是多少?這個地址是你的默認本地DNS服務器的地址嗎?
(30)檢查DNS查詢報文,它是哪一類型的DNS查詢?該查詢報文中包含「answers」嗎?
(31)檢查DNS查詢響應報文,其中響應報文提供了哪些MIT名稱服務器?響應報文提供這些MIT名稱服務器的IP地址了嗎?
(32)DNS查詢報文發送的目的地的IP地址是多少?這個地址是你的默認本地DNS服務器的地址嗎?若是不是,這個IP地址至關於什麼?
(33)檢查DNS查詢報文,它是哪一類型的DNS查詢?該查詢報文中包含「answers」嗎?
(34)檢查DNS查詢響應報文,其中提供了多少個「answers」?每一個answers包含哪些內容?
實驗二:利用分組嗅探器分析傳輸層與網絡層協議
利用分組嗅探器分析數據鏈路層協議
n 利用分組嗅探器分析傳輸層與網絡層協議
【實驗前須要學習掌握的知識】
1、詳細掌握TCP段結構。
2、詳細掌握UDP段結構。
3、IP數據報結構
【實驗目的】
1、瞭解傳輸層TCP/UDP協議構造;
2、瞭解網絡層IP協議構造;
【實驗內容】
1、對傳輸層協議TCP/UDP進行捕包分析並回答問題
俘獲大量的由本地主機到遠程服務器的TCP傳輸
(1)啓動瀏覽器,打開http://gaia.cs.umass.edu/ethereal-labs/alice.txt網頁,獲得ALICE'S ADVENTURES IN WONDERLAND文本,將該文件保存到你的主機上。
(2)打開http://gaia.cs.umass.edu/ethereal-labs/TCP-ethereal-file1.html
窗口以下所示。
在Browse按鈕旁的文本框中輸入保存在你的主機上的文件ALICE'S ADVENTURES IN WONDERLAND的全名(含路徑),此時不要按「Upload alice.txt file」按鈕
(3)啓動Ethereal,開始分組俘獲。
(4)在瀏覽器中,單擊「Upload alice.txt file」按鈕,將文件上傳到gaia.cs.umass.edu服務器,一旦文件上傳完畢,一個簡短的賀詞信息將顯示在你的瀏覽器窗口中。
(5)中止俘獲。
瀏覽追蹤信息
(1)在顯示篩選規則中輸入「tcp」,你能夠看到在你的主機和服務器之間傳輸的一系列的tcp和http報文,你應該能看到包含SYN報文的三次握手。也能夠看到有你的主機向服務器發送的一個HTTP POST報文和一系列的「http continuation」報文。
(2)根據操做回答「實驗報告」中的1-2題。
TCP基礎
根據操做回答「實驗報告」中的3-9題
TCP擁塞控制
(1)在Ethereal已俘獲分組列表子窗口中選擇一個TCP 報文段。選擇菜單: Statistics->TCP Stream Graph-> Time-Sequence-Graph(Stevens)。你也許會看到以下所示的圖。
根據操做回答「實驗報告」中的10-11題。
2、對網絡層協議IP進行捕包分析
注意分析網絡層發送方和接收方IP地址關係,推薦採用對tracert命令進行捕包分析。
【實驗方式】實驗指導教師講解演示,每位同窗上機實驗,並與指導教師討論。
【實驗地點】學院實驗室。
下載共享版本http://www.pingplotter.com/安裝pingplotter標準版(你有一個30天的試用期),經過對你所喜歡的站點執行一些traceroute來熟悉這個工具。ICMP回覆請求消息的大小能夠在pingplotter中設置:Edit->Options->Packet,在packet size字段中默認包的大小是56字節。pingplotter發送一系列TTL值漸增的包時,Trace時間間隔的值和間隔的個數在pingplotter中可以設置。按下面步驟作:
1.打開Ethereal,開始包捕獲,而後在Ethereal包捕獲的選擇屏幕上點擊OK;
2.開啓pingplotter,而後在「Address to Trace」窗口輸入目的地目標的名字:
在「#of times to Trace」區域輸入3。而後選擇Edit->Options->Packet,確認在packet size字段的值爲56,點OK。而後按下Trace按鈕。
3.接下來,發送一組具備較長長度的數據包,經過Edit->Options->Packet在包大小區域
輸入值爲2000,點OK。接着按下Resume按鈕;
4.再發送一組具備更長長度的數據包,經過Edit->Options->Packet在包大小區域輸入值
爲3500,點OK。接着按下Resume按鈕;
5.而後咱們中止Ethereal tracing;
根據操做回答「實驗報告」中的12-25題
在實驗的基礎上,回答如下問題:(請在實驗報告中TCP與IP各5道題回答)
(1) 向gaia.cs.umass.edu服務器傳送文件的客戶端主機的IP地址和TCP端口號是多少?
(2) Gaia.cs.umass.edu服務器的IP地址是多少?對這一鏈接,它用來發送和接收TCP報文段的端口號是多少?
(3) 客戶服務器之間用於初始化TCP鏈接的TCP SYN報文段的序號(sequence number)是多少?在該報文段中,是用什麼來標示該報文段是SYN報文段的?
(4) 服務器向客戶端發送的SYNACK報文段序號是多少?該報文段中,ACKnowledgement字段的值是多少?Gaia.cs.umass.edu服務器是如何決定此值的?在該報文段中,是用什麼來標示該報文段是SYNACK報文段的?
(5) 包含HTTP POST命令的TCP報文段的序號是多少?
(6) 考慮在TCP鏈接中含有HTTP POST並把它做爲第一個片斷的TCP片斷。在TCP鏈接(包括含有HTTP POST的片斷)中最早的六個片斷的序列號是多少?每個片斷是何時發送的?每個片斷接收到ACK是何時?請給出每個TCP片斷髮送和確認被收到時的間隔,即六個片斷中的每個RTT值是多少?當接收到每個ACK時的EstimatedRTT值是多少?假設對於第一個片斷來講,EstimatedRTT值和標準的RTT值相同。
EstimatedRTT=(1-α)*EstimatedRTT+α*SampleRTT (假設α=0.125)能夠知道如何計算便可
(7) 前六個TCP報文段的長度各是多少?
(8) 在整個跟蹤過程當中,接收端公示的最小的可用緩存空間是多少?限制發送端的傳輸之後,接收端的緩存是否仍然不夠用?
(9) 在跟蹤文件中是否有重傳的報文段?進行判斷的依據是什麼?
(10) 利用Time-Sequence-Graph(Stevens) plotting工具,瀏覽由客戶端向服務器發送的報文段序號和時間對應關係圖。你可否辨別出TCP慢啓動階段的起止,以及在何處轉入避免擁塞階段?
(11) 闡述所測量到的數據與TCP理想化的行爲有何不一樣?
(12) 選擇你的電腦所發送的第一個ICMP請求消息,在包詳細信息窗口擴展包的Internet協議部分。你的電腦的IP地址是多少?
(13) 在IP包頭部,上層協議區域的值是多少?
(14) IP頭部有多少字節?IP數據包的有效載荷是多少字節?解釋你是怎樣肯定有效載荷的數量的?
(15) 這個IP數據包被分割了嗎?解釋你是怎樣肯定這個數據包是否被分割?接下來單擊列名按IP源地址排序數據包,選擇你的電腦發送的第一個ICMP請求消息,擴展顯示IP協議的數據。
(16) 在包捕獲列表窗口,你能看到在第一個ICMP下的全部併發的ICMP消息嗎?
(17) 往同一IP的數據包哪些字段在改變,並且必須改變?爲何?哪些字段是保持不變的,並且必須保持不變?
(18) 描述一下在IP數據包的Identification字段的值是什麼樣的?
接下來找到經過最近的路由器發送到你的電腦去的ICMP的TTL溢出回覆的系列,回答如下問題:
(19) Identification字段和TTL字段的值是多少?
(20) 全部的經過最近的路由器發送到你的電腦去的ICMP的TTL溢出回覆是否是值都保持不變呢?爲何?
接下去研究一下分片,先按時間順序排序數據包,找出在pingplotter中把包的大小改爲2000後,你的電腦所發送的第一個ICMP請求消息。回答如下問題:
(21) 那個消息是否傳送多於一個IP數據包的分片?看第一個被分割的IP數據包的片斷,在IP頭部有什麼信息指出數據包已經被分割?在IP頭部有什麼信息指出這是不是第一個與後面片斷相對的片斷?這個IP數據包的長度是多少?
(22) 看被分割的IP數據包的第二個片斷。在IP頭部有什麼信息指出這不是第一個數據包片斷?有更多的片斷嗎?你是怎麼知道的?和上一個分片的長度加起來是2000嗎?
(23) 哪一個字段在第一個和第二個片斷之間的IP頭部改變了?Identification變了嗎
再找出在pingplotter中把包的大小改爲3500後,你的電腦所發送的第一個ICMP請求消息。回答如下問題:
(24) 從原始的數據包中產生了多少片斷?片偏移分別爲多少?
(25) 在片斷之中IP頭部哪些字段改變了?Identification變了嗎?
【實驗前須要學習掌握的知識】
以太網報頭中的前兩個字段是以太網的源地址和目的地址。目的地址爲全1的特殊地址是廣播地址。電纜上的全部以太網接口都要接收廣播的數據幀。
兩個字節長的以太網幀類型表示後面數據的類型。對於ARP請求或應答來講,該字段的值爲0x0806。
hardware (硬件)和protocol (協議)用來描述ARP分組中的各個字段。例如,一個ARP請求分組詢問協議地址(這裏是IP地址)對應的硬件地址(這裏是以太網地址)。
硬件類型字段表示硬件地址的類型。它的值爲1即表示以太網地址。協議類型字段表示要映射的協議地址類型。它的值爲0x0800即表示IP地址。它的值與包含IP數據報的以太網數據幀中的類型字段的值相同,這是有意設計的。
接下來的兩個1字節的字段,硬件地址長度和協議地址長度分別指出硬件地址和協議地址的長度,以字節爲單位。對於以太網上IP地址的ARP請求或應答來講,它們的值分別爲6和4。
操做字段指出四種操做類型,它們是ARP請求(值爲1)、ARP應答(值爲2)、R ARP請求(值爲3)和R ARP應答(值爲4)。這個字段必需的,由於ARP請求和ARP應答的幀類型字段值是相同的。
接下來的四個字段是發送端的硬件地址(在本例中是以太網地址)、發送端的協議地址(IP地址)、目的端的硬件地址和目的端的協議地址。注意,這裏有一些重複信息:在以太網的數據幀報頭中和ARP請求數據幀中都有發送端的硬件地址。
對於一個ARP請求來講,除目的端硬件地址外的全部其餘的字段都有填充值。當系統收到一份目的端爲本機的ARP請求報文後,它就把硬件地址填進去,而後用兩個目的端地址分別替換兩個發送端地址,並把操做字段置爲2,最後把它發送回去。
【實驗目的】
瞭解數據鏈路層協議構造
【實驗內容】
對數據鏈路層協議進行捕包分析並回答問題
俘獲並分析以太網幀
(1)清空瀏覽器緩存(在IE窗口中,選擇「工具/Internet選項/刪除文件」命令)。
(2)啓動Ethereal,開始分組俘獲。
(3)在瀏覽器的地址欄中輸入:http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file3.html,瀏覽器將顯示冗長的美國權力法案。
(4)中止分組俘獲。首先,找到你的主機向服務器gaia.cs.umass.edu發送的HTTP GET報文的分組序號,以及服務器發送到你主機上的HTTP 響應報文的序號。其中,窗口大致以下。
選擇「Analyze->Enabled Protocols」,取消對IP複選框的選擇,單擊OK。窗口以下。
(5)選擇包含HTTP GET報文的以太網幀,在分組詳細信息窗口中,展開Ethernet II信息部分。根據操做,回答「實驗報告」中的1-5題
(6)選擇包含HTTP 響應報文第一個字節的以太網幀,根據操做,回答「實驗報告」中的6-10題
ARP分析
(1)利用MS-DOS命令:arp 或 c:\windows\system32\arp查看主機上ARP緩存的內容。根據操做,回答「實驗報告」中的11題。
(2)利用MS-DOS命令:arp-d * 清除主機上ARP緩存的內容。
(3)清除瀏覽器緩存。
(4)啓動Ethereal,開始分組俘獲。
(5)在瀏覽器的地址欄中輸入:http://gaia.cs.umass.edu/ethereal-labs/ HTTP-ethereal-lab-file3.html,瀏覽器將顯示冗長的美國權力法案。
(6)中止分組俘獲。選擇「Analyze->Enabled Protocols」,取消對IP複選框的選擇,單擊OK。窗口以下。根據操做,回答「實驗報告」中的12-15題。
計算機網絡與通訊實驗報告(二) |
||||
學 號 |
姓 名 |
班 級 |
報告日期 |
|
|
|
|
|
|
實驗內容 |
實驗二 利用分組嗅探器分析傳輸層與網絡層協議 利用分組嗅探器分析數據鏈路層協議 |
|||
實驗目的 |
|
|||
實驗預備知識 |
|
|||
實驗過程描述 |
|
|||
實驗結果 |
|
|||
實驗當中問題 及解決方法 |
1、
2、
|
|||
成績(教師打分) |
優秀 |
良好 |
及格 |
不及格 |
計算機網絡與通訊實驗報告(一) |
||||
學 號 |
姓 名 |
班 級 |
報告日期 |
|
|
|
|
|
|
實驗內容 |
實驗一 網絡經常使用命令的使用及DNS層次查詢、SMTP協議分析 利用分組嗅探器(ethereal)進行應用層協議分析 一:網絡經常使用命令的使用及DNS層次查詢、SMTP協議分析;利用分組嗅探器(ethereal)進行應用層協議分析 二:DNS層次查詢、SMTP協議分析 三:利用ethereal分別對TCP套接字的實現及UDP套接字的實現捕包分析 四:利用ethereal分析協議HTTP、FTP和DNS |
|||
實驗目的 |
一:學習網絡經常使用命令的使用和分析; 二:一、瞭解和掌握DNS層次結構,利用NSLOOKUP命令對DNS層次結構進行訪問; 二、瞭解電子郵件系統發送及接受處理過程,對SMTP協議進行分析; 三、掌握捕包軟件ethereal的使用,瞭解網絡協議實體間進行交互以及報文交換的狀況; 三:學會使用ethereal軟件分別對TCP套接字的實現及UDP套接字的實現捕包和分析,瞭解TCP和UDP的區別; 四:對HTTP、FTP和DNS有基本的認識,學會分析HTTP協議和DNS協議;
|
|||
實驗預備知識 |
一:1.瞭解cmd窗口的基本使用 二、網絡經常使用命令的用法 三、計算機的基本操做 二:一、掌握DNS基本構成原理及三層結構。 二、電子郵件系統的構成,包含在發送方、接收方進行郵件傳遞涉及的各類協議及協議構成,區分SMTP協議與郵件消息格式的異同點。 三、瞭解經常使用捕包軟件。捕包軟件不但能夠分析數據包的流向,也能夠對數據包的內容進行監聽,能夠觀察TCP/IP協議族中應用層、傳輸層、網絡層、數據鏈路層和有關網絡安全的各類協議的活動。 三:配置Java編程環境,掌握JDK和編輯器的基本操做,安裝java虛擬機。熟悉捕包軟件的使用,進行相應的捕包操做,具體程序使用現成的。 四:1.實驗環境:與因特網鏈接的計算機網絡系統;主機操繫系統爲windows;Ethereal、IE等軟件;
3.Ethereal軟件的基本使用; |
|||
實驗過程描述 |
一.網絡經常使用命令的使用 一、在網上搜索並學習了ping命令的基本使用方法(包括參數的使用),對網絡常見故障利用命令進行了解 二、用tracert命令用來顯示數據包到達目標主機所通過的路徑,並顯示到達每一個節點的時間,分析網絡延時產生的緣由。 3、利用netstat命令瞭解網絡的總體使用狀況。顯示當前正在活動的網絡鏈接的詳細信息,例如顯示網絡鏈接、路由表和網絡接口信息,統計目前總共有哪些網絡鏈接正在運行。 4、利用ipconfig命令顯示全部當前的TCP/IP網絡配置值、刷新動態主機配置協議 (DHCP) 和域名系統 (DNS) 設置。 使用不帶參數的IPCONFIG顯示全部適配器的 IP 地址、子網掩碼、默認網關。 5、利用ARP肯定對應IP地址的網卡物理地址。查看本地計算機或另外一臺計算機的ARP高速緩存中的當前內容。 6、在網上了解相關其它知識 2、DNS層次查詢、SMTP協議分析 1.DNS層次查詢 (1)掌握nslookup命令使用方法,並對nslookup命令的參數進行熟練掌握。 (2)手動逐級進行NDS解析 先上維基查詢13個根域名 嘗試了兩個ns.internic.net和ns.nasa.gov 只有後者可以有相關答覆,問題在於逐步解析DNS 經過查詢相關文章,發現不少博客都會使用dig命令去進行循環解析,使用nslookup的區別在於要本身找到所回覆的信息中下一級的服務器ip而後逐步查詢最後獲得結果。 二、利用TELNET進行SMTP的郵件發送。 鏈接smtp服務器->發命令"HELO zeze" ->發命令"AUTH LOGIN",而後服務器以base64編碼後的形式提示輸入用戶名->以base64編碼後的形式輸入用戶名,若是用戶名合法,服務器提示輸入口令->以base64編碼後的形式輸入口令。服務器返回"235 Authentication successful";編輯電子郵件,利用SMTP協議進行收發電子郵件;觀察並分析收發過程及協議信息。 3.按照教程使用Ethereal軟件,關閉多餘進程,開始打開網頁捕包,中止捕包。 3、3、利用ethereal分別對TCP套接字的實現及UDP套接字的實現捕包分析 搭建配置java運行環境,java IDE ,學會命令Java運行和Javac編譯-->運行程序進行分析; 4、利用ethereal分析協議HTTP、FTP和DNS 按照實驗說明裏的詳細步驟依次操做,進行HTTP GET/response交互,HTTP 條件GET/response交互,獲取長文件,HTTP認證,跟蹤DNS |
|||
實驗結果 |
1、網絡經常使用命令的使用 1.ping命令:
2.tracert命令
第1級路由是本地網關,第9級到第10級路由延時驟增,緣由是分組正在通過海底光纜通向國外,以後的延時都比較大,超時現象也比較嚴重,此時的分組已經到達了國外,在國外的路由器上進行轉發。 3.Ipconfig命令
4.netstat命令
查看路由表:
5.arp命令:
2、 DNS層次查詢、SMTP協議分析 1.DNS層次查詢 嘗試了兩個ns.internic.net和ns.nasa.gov 查詢到根域名192.203.230.10,頂級域名192.55.83.30 權威名稱服務器180.76.76.92 2.利用TELNET進行SMTP的郵件發送 如下是使用telnet和smtp實現郵件發送過程當中使用的全部語句,根據提示按步調用語句 telnet smtp.hit.edu.cn 25 helo zeze auth login Sadsadsadsadsaxxxxx Asdsadasdxxxxxxxx MAIL FROM:<170400211@stu.hit.edu.cn> RCPT TO:<470057867@qq.com> data From:170400211@stu.hit.edu.cn To:470057867@qq.com Subject:test hello guys I am zeze good night .(點不能忘記) 3.訪問哈工大校園網站www.hitwh.edu.cn IP 爲222.194.15.6 本機IP爲 172.26.26.3
從打開到加載完畢所花費的時間爲0.259298S
三:利用ethereal分別對TCP套接字的實現及UDP套接字的實現捕包分析 因爲沒有先運行服務器致使了鏈接超時:
成功鏈接以後的結果:
客戶端:
服務器端:
UDP 補包:
四:利用ethereal分析協議HTTP、FTP和DNS (1)打開簡單html補包
·瀏覽器和所訪問的服務器運行的都是HTTP1.1 ·zh-Hans-CN、zh-Hans; ·個人ip:10.241.7.201 服務器ip:128.119.245.12 ·200 ok ·Sat, 26 Oct 2019 05:40:02 2019.10.26 5:40:02 ·126 (2)
服務器明確了返回文件的內容 從報文中的Reassembled TCP Segments中能夠得知 存在一行IF-MODIFIED-SINCE 該行後面跟的是須要返回的文件名 304 not modified 沒有明確地返回文件的內容 總的字節只有293byte 而第一次返回的有784byte 而且在返回的內容內沒有明確的Line-based text data部分
一共發出了兩次請求
200 OK
一共發出了四次get請求 128.119.245.12 159.182.31.51 並行下載 這樣能夠不用每次都創建TCP鏈接,縮短下載時間
401 Unauthorized(text/html) Authorization: Basic ZXRoLXN0dWRlbnRzOm5ldHdvcms=\r\n
基於UDP協議 目的端口號53 查詢端口號56715 64118
地址相同 A類型:指向ipv4地址和AAAA類型:指向ipv6地址 查詢報文中不包含answer
三個answers
與其中一個answer中提供的ip地址相同 沒有發出新的DNS 發出一個NS類型的是用於解析域名不是用於下載圖片。
53 49746 192.168.43.1 是默認的本地DNS服務器地址 A類型 和 AAAA類型 沒有answers 三個 answers 每一個answers包含 Name、 Type、 Class 、Time to live、Data length、 Primary name
192.168.43.1 是默認的本地DNS服務器地址 NS類型的DNS查詢 不包含answers
不包含ip地址
IP是: 240e:ba:c01a:ea93: 不是默認dns服務器地址 至關於 默認dns服務器地址對應的ipv6版本 A類型和AAAA類型的查詢報文 查詢報文中不包含answers A類型的迴應報文中有answers AAAA的迴應報文中不存在answers 問題回答: (1)你的瀏覽器運行的是HTTP1.0,仍是HTTP1.1?你所訪問的服務器所運行的HTTP版本號是多少? 答:經過控制面板的Internet選項-高級發現支持1.1 (4)從服務器向你的瀏覽器返回的狀態代碼是多少? 答:500 (3)你的計算機的IP地址是多少?服務器gaia.cs.umass.edu的IP地址是多少? 答:本機IP地址會變更,經過ping命令查到服務器地址是128.119.245.12 (9)分析你的瀏覽器向服務器發出的第二個「HTTP GET」請求,在該請求報文中是否有一行是:IF-MODIFIED-SINCE?若是有,在該首部行後面跟着的信息是什麼? 答:沒有,發現了狀態碼304 (11)你的瀏覽器一共發出了多少個HTTP GET請求? 答:瀏覽器按F12,選中網絡項能夠看到有多少個GET請求,發現有4個。 (25)瀏覽器在下載這兩個圖片時,是串行下載仍是並行下載?請解釋。 答:並行,傳輸效率高節省時間。 (26)DNS查詢報文發送的目的地的IP地址是多少?利用ipconfig命令(ipconfig/all)決定你主機的本地DNS服務器的IP地址。這兩個地指相同嗎? 答:相同 打開的WEB頁中包含圖片,在獲取每個圖片以前,你的主機發出新的DNS查詢了嗎? 答:在獲取一個新圖片以前並無DNS查詢。 |
|||
實驗當中問題 及解決方法 |
1、使用IPconfig命令時,顯示了不少IP地址,不知道哪一個纔是能PING通本機的,通過和同窗嘗試,確認了無線局域網下的IPV4地址能夠互相PING通。 2、與同窗互相使用PING命令,開始能夠通,隨後會出錯,發現是校園網隔一段時間會在IP池裏自動更換地址。 三、ipconfig中有的命令遇到錯誤: 沒法識別或不完整的命令行,暫時未解決,多是用法不一致。 四、Win10 並不能直接使用telnet命令 須要在系統設置中給telnet打勾才能使用這個命令 五、善用搜索引擎,不知道如何組合nslookup語句實現逐層DNS解析,查閱CSDN以後瞭解到用nslookup -qt=NS xxxx IP 能夠獲取xxxx在當前IP下的子IP,而後逐步更換子IP便可從根域名逐步降級到權威域名。 六、利用TELNET進行SMTP的郵件發送時,163和qq郵箱一直登錄失敗,屢次嘗試後發現是密碼應當使用第三方受權碼而不是登錄密碼,最後163郵箱登錄成功! 七、SMTP的郵件發送成功後被郵箱視爲垃圾郵件屏蔽,誤認爲一直沒有收到,後來發現。 八、telnet遇到錯誤550 500 經過搜索和問同窗找到了問題所在,是本身語法出了錯。 九、不少報錯的問題是經過谷歌找到解決方案的,百度有時候很差使。 十、因爲本學期未學JAVA,剛開始運行程序時出現了各類問題,在菜鳥教程看了基本的操做後成功運行了第一個程序。 十一、JAVA環境配置時未添加環境變量,致使程序不能正常運行,添加環境變量後解決問題。 12、用老師提供的軟件時出現未知錯誤,從網上查找知道多是操做系統版本不一致,從官網下載了最新版解決了問題。 1三、Ethereal抓包文件的使用。 若是stop過快會得不到相應的http協議,若是等待的時間過長,打開過多的文件,會出現過多的數據,最後選擇打開校官網的本科生招生,其中只有一個圖片,能減小產生的結果,從而精確須要看到的東西。 1四、telnet剛開始使用時在dos環境下沒法識別,後來在網上查詢知道在控制面板中要先設置,最終解決。 15、利用ethereal分析協議HTTP、FTP和DNS中:抓取的包過多,致使篩選後有不少無關包影響分析 |
|||
成績(教師打分) |
優秀 |
良好 |
及格 |
不及格 |
計算機網絡與通訊實驗報告(二) |
||||
學 號 |
姓 名 |
班 級 |
報告日期 |
|
|
|
|
|
|
實驗內容 |
實驗二 利用分組嗅探器分析傳輸層與網絡層協議 利用分組嗅探器分析數據鏈路層協議 |
|||
實驗目的 |
1、瞭解傳輸層TCP/UDP協議構造; 2、瞭解網絡層IP協議構造;
|
|||
實驗預備知識 |
1、詳細掌握TCP段結構。 2、詳細掌握UDP段結構。 3、掌握IP數據報結構
|
|||
實驗過程描述 |
一.對傳輸層協議TCP/UDP進行捕包分析 (1)關閉計算機後臺多餘的進程,啓動瀏覽器,打開網址http://gaia.cs.umass.edu/ethereal-labs/alice.txt ,獲得ALICE'S ADVENTURES IN WONDERLAND文本,將該文件保存到桌面。
(2) 打開網址http://gaia.cs.umass.edu/ethereal-labs/TCP-ethereal-file1.html在Browse按鈕旁的文本框中輸入保存在你的主機上的文件ALICE'S ADVENTURES IN WONDERLAND(全名)
(3)啓動Ethereal,開始分組俘獲。 (4)在瀏覽器中,單擊「Upload alice.txt file」按鈕,將文件上傳到gaia.cs.umass.edu服務器,提示恭喜上傳完成。
(5)中止俘獲
|
|||
實驗結果 |
問題回答:
一.對傳輸層協議TCP/UDP進行捕包分析
TCP SYN報文段的序號是0 Syn值設置爲1
ACKnowledgement字段的值是1 Gaia.cs.umass.edu服務器是在SYN報文段中的seq值加1 在該報文段中,用Flags:0x0012來標識
序號是152931 2、對網絡層協議IP進行捕包分析
56-20=36爲有效載荷數
被分割了 下一個包爲 顯示IP協議的數據:
能夠
改變:首部校驗和,標識 不變版本、頭部長度、區分服務、協議、源地址
|
|||
實驗當中問題 及解決方法 |
1、問題:利用ethereal抓取的包不少後臺運行的程序包,致使實驗包沒法準確找到 解決:關閉各種後臺服務,在高級TCP選項中關閉其餘服務,在頁面加載完畢後當即中止抓包。
2、問題:找不到#of times to Trace 解決:本次實驗使用的是PingPlotter5,#of times to Trace即爲追蹤次數
2、問題:找不到分片信息 解決:數據報是不在ICMP類型的記錄中找到的,而在IP類型的記錄中尋找。
|
|||
成績(教師打分) |
優秀 |
良好 |
及格 |
不及格 |