Như tên gọi gợi ý, 1 packet sniffer bắt capture hay sniffs message đang được gửi/nhận từ/tới máy tính của bạn; nó sẽ chứa và/hoặc hiển thị nội dung của các trường giao thức trong các m
Trang 1ĐẠI HỌC BÁCH KHOA HÀ NỘI
BÀI TẬP LỚN MẠNG MÁY TÍNH
Giảng viên hướng dẫn : TS Ngô Hồng Sơn Nhóm 29 : Lê Xuân Thống Nhất, 20072151, CNPM-K52
Trịnh Thị Lan Phượng, 20062468, HTTT-K52 Nguyễn Trọng Duy, 20070514,TTM-K52 Nguyễn Thị Mai, 20071892 ,CNPM-K52
Trang 2Nội dung :
1. Giới thiệu Wireshark……… 3
2. Wireshark Lab : DHCP……… 5
3. Wireshark Lab : DNS……… 8
4. Wireshark Lab : Ethernet & ARP……….14
5. Wireshark Lab : HTTP……… 22
6. Wireshark Lab : ICMP……… 27
7. Wireshark Lab : IP……… 32
8. Wireshark Lab : TCP……… 37
9. Wireshark Lab : UDP……… 45
Chú ý : Phân công công việc
1. Lê Xuân Thống Nhất : Ethernet & ARP, HTTP
2. Trịnh Thị Lan Phượng : TCP, UDP
3. Nguyễn Thị Mai : DHCP, DNS
4. Nguyễn Trọng Duy : ICMP, IP
Trang 3các hành động cụ thể nào đó rồi xem xét hệ quả gây ra Nó có thể được thực hiện trong những kịch bản được mô phỏng hoặc ở môi trường mạng thực như internet.
Trong Wireshark lab chúng tôi theo các tiếp cận sau Bạn sẽ quan sát giao thức mạng trong máy tính của bạn “in action”, tương tác và trao đổi message với các giao thức khác trên internet Vì thế bạn và máy tính của bạn sẽ là 1 phần của “live” lab đó Bạn sẽ quan sát, bạn sẽ học, bằng cách làm
1 công cụ cơ bản để quan sát các message được truyền giữa các thực thể giao thức được gọi
là packet sniffer Như tên gọi gợi ý, 1 packet sniffer bắt (capture hay sniffs) message đang
được gửi/nhận từ/tới máy tính của bạn; nó sẽ chứa và/hoặc hiển thị nội dung của các
trường giao thức trong các message bị bắt 1 packet sniffer tự nó là bị động Nó quan sát
các message đang được gửi và nhận bởi các ứng dụng và các giao thức đang chạy trên máy tính của bạn, nhưng không bao giờ tự gửi những packet chính nó Tương tự, packet được
nhận không bao giờ được địa chỉ hóa rõ ràng tới packet sniffer Thay vào đó, 1 packet
sniffer nhận 1 bản copy của các packet đang được gửi hoặc nhận từ/tới ứng dụng và
protocol đang chạy trên máy tính của bạn.
Hình 1dưới đây chỉ ra cấu trúc của 1 packet sniffer Bên phải là các giao thức(trong trường
hợp này, các giao thức Internet) và các ứng dụng (như web browser hay ftp clietn) là những thứ thường chạy trên máy bạn packet sniffer là phần thêm cho phần mềm của bạn, thường
có 2 phần the packet capture library nhận 1 bản copy của mọi khung lớp liên kết được gửi hay nhận từ máy bạn Những message được truyền bởi giao thức tầng cao hơn như
HTTP,FTP,TCP,UDP,DNS hoặc IP, tất cả được đóng gói thực sự trong các link-layer frame, thứ được truyền thông qua thiết bị vật lý như cap ethernet Trong hình 1, thiết bị vật lý coi là cáp ethernet, và vì thế tất cả giao thức tầng cao hơn thực sự được đóng gói trong frame Ethernet Bắt tất cả các link-layer frame đưa cho ta tất cả các message được gửi, nhận từ/ tới tất cả các giao thức, ứng dụng đang thực thi trên máy của bạn.
Thành phần thứ 2 của packet sniffer là packet analyzer, thứ hiển thị tất cả các trường trong 1 thông điệp giao thức Để làm được vậy, packet analyzer phải “understand” cấu trúc tất cả các message được gửi bởi protocol Ví dụ như, cho rằng chúng ta quan tâm tới hiển thị nhiều
Trang 4trường trong các message được gửi bởi giao thức HTTP trong hình 1 Packet analyzer hiểu định dạng của Ethernet frame và vì thế có thể định danh gói dữ liệu IP (datagram) bên trong Ethernet frame Nó cũng hiểu định dạng của gói dữ liệu IP, vì thế nó có thể trích xuất ra TCP segment bên trong gói dữ liệu IP Tương tự nó hiểu cấu trúc của TCP segment và có thể trích rút ra thông điệp HTTP chứa trong đó Cuối cùng nó hiểu giao thức HTTP và vì thế, ví dụ, hiểu file đầu tiên sẽ chứa các chuỗi “GET”,”POST” hay “HEAD”…
Chúng ta sẽ sử dụng Wireshark packet sniffer [http://www.wireshark.org/] cho các lab này, cho phép chúng thể hiện nội dung các message đâng được gửi, nhận từ/tới các giao thức ở các mức độ khác nhau của stack giao thức
Trang 53. Địa chỉ link-layer của máy bạn là gì?
Địa chỉ link-layer là : 00:1e:ec:66:97:e4
4. Giá trị nào của DHCP discover message phân biệt với DHCP request message
Là giá trị Option
Trang 65. Giá trị của Transaction-ID trong từng thông điệp trong 4 thông điệp đầu tiên của DHCP (Discover/Offer/Request/ACK) bằng bao nhiều? Chức năng của trường Transaction-ID ?
1. 0xd38t2330
2. 0x92c3653c
Transaction-ID là một số ngẫu nhiên được tạo ra bởi client Mục đích của nó được sử dụng cung cấp cho client và DHCP server có thể được xác định qua sự quan hệ giữa các thông điệp DHCP gửi đi và nhận.
6. Host dùng DHCP để chứa đựng địa chỉ IP, nhưng địa chỉ IP của host không chấp nhận cho đến khi kết thúc việc trao đổi của 4 thông điệp Nếu địa chỉ IP không được xác định cho đến khi kết thúc việc trao đổi của 4 thông điệp, sau đó giá trị nào là được dùng trong gói dữ liệu ngắn IP trong 4 thông điệp khi trao đổi??? Với mỗi 4 thông điệp DHCP(Discover, Offer, Request, ACK) cho biết địa chỉ IP nguồn và đích được thực hiện trong lúc gói dữ liệu IP đóng gói.
7. Địa chỉ IP của DHCP server của bạn là gi?
relay agent chịu trách nhiệm để kiểm soát quá trình gửi thông điệp DHCP từ bên này đến các mạng subnet khác Trong thí nghiệm này ko có relay agent nào vì
Src: 0.0.0.0 Dst: 255.255.255.255
Trang 7Host yêu cầu đề nghị với địa chỉ IP trong thông điệp DHCP request
12. Giai thích chức nằng của lease time Bạn đã làm lease time trong bao lâu?
Lease time là thời gian mà nó nói lên cho biết thời gian mà địa chỉ IP dùng Trong lab này, thời gian lease time là 3 ngày
13. Chức năng của DHCP release message là gi? DHCP server đưa ra thông báo xác nhận yêu cầu của DHCP của client Chuyện gì sẽ xảy ra nếu thổng điệp từ DHCP của client bị mất?
Thông điệp DHCP release được dùng để cho biết DHCP server mà client đã sẵn sàng được dùng cho địa chỉ IP Nếu thông điệp DHCP release bị mất thì sau đó địa chỉ IP sẽ được dùng cho đến khi hết hạn thời gian.
14. Làm sáng tỏ bootp filter trong cửa sổ wireshack Bất kỳ gói ẢRP nào cũng được gửi hoặc nhận trong quá trình trao dổi các gói
ARP(address solution protocal) là giao thức mà nó dùng cho việc đánh dấu giữa địa chỉ IP và địa chỉ MAC.
3 Wireshark Lab : DNS
1. Chạy nslookup để lấy địa chỉ IP của web server Asia
Trang 82. Chạy nslookup để xác định DNS server chủ của một trường đại học ở Châu Âu nào đó
Trang 94. Xác định thông điệp truy vấn DNS và đáp trả DNS Chúng được gửi qua giao thức UDP hay TCP?
2 địa chỉ IP này giống nhau
7. Xét thông điệp truy vấn DNS Truy vấn DNS này thuộc loại gi? Nó có chứa “answers” nào không?
type:A
Trang 10không chứa answers nào
8. Xét thông điệp đáp trả Có bao nhiêu loại “answers”? giải thích cụ thể từng loại?
Có 1 Anwer
9. Xem xét gói TCP SYN gửi từ host của bạn Có phải địa chỉ IP đích của gói SYN phù hợp với bất
cứ địa chỉ IP được cung cấp trong thông điệp đáp trả DNS?
không chứa anwers nào
14. Xét thông điệp hồi đáp DNS Thông điệp DNS này thuộc loại gi? Nó có chứa bất kỳ một
“answer” nào không?
Type:A(host address)
Trang 1116. Thông điệp truy vấn DNS gửi bằng địa chỉ IP nào? Nó có phải là địa chỉ IP của DNS server cục bộ mặc đinh không?
IP DNS query:192.168.1.36
Yes
17. Xét thông điệp truy vấn DNS Nó thuộc loại nào? Có chứa bất kỳ “answers” nao không?
18. Xét thông điệp hồi đáp Tên server của MIT trả lời hồi đáp là gì? Thông điệp hồi đáp cũng chứa địa chỉ IP của server đó đúng ko?
Trang 1219. Đưa ra kết quả màn hình thu được
20. Thông điệp truy vấn DNS gửi đi bằng địa chỉ IP nào? Nó có phải là địa chỉ IP của DNS server cục bộ mặc đinh không? Nếu không thì địa chỉ IP đó là gì?
IP của DNS query: 192.168.1.36
Yes
21. Xét thông điệp truy vấn DNS Nó thuộc loại nào? Có chứa bất kỳ “answers” nào không?
Trang 1322. Xét thông điệp đáp trả Có bao nhiêu loại “answers”? giải thích cụ thể từng loại:
23. Đưa ra kết quả màn hình thu được
Trang 144 Wireshark Lab : Ethernet & ARP
A. Capturing and analyzing Ethernet frames
1. Địa chỉ Ethernet 48-bit của máy bạn là gì?
Trang 15Địa chỉ Ethernet 48-bit của máy em là : 00:1b:fc:35:d9:4d
2. Địa chỉ đích 48bit trong Ethernet frame là gì? Có phải nó là địa chỉ Ethernet của
gaia.cs.umass.edu? (Gợi ý: câu trả lời là không) Thiết bị nào có nó như là địa chỉ Ethernet của nó?
Địa chỉ đích 48-bit của Ethernet frame là : 00:02:cf:7e:13:de
Đây không phải địa chỉ Ethernet của gaia.cs.umass.edu mà là địa chỉ của router Zygate , vì gói tin phải được chuyển đến router ở mạng con trước khi router này chyển tiếp gói tin.
3. Đưa 1 giá trị hexa cho trường kiểu Frame 2-byte Các bit giá trị 1 có nghĩa gì bên trong trường flag(cờ) ?
Giá trị hexa của trường kiểu Frame là : 0x0800
Giá trị trường flag là ở byte thứ 21 (là 04), trường flag là 3 bit đầu tiên nên là : 010 ở đây bit
1 báo cho phép phân mảnh, còn bit 0 cuối cùng báo là mảnh cuối cùng, không còn mảnh sau nữa.
Trang 164. Có bao nhiêu byte tính từ nơi bắt đầu Ethernet frame mà mã ASCII ”G” trong “GET” xuất hiện trong Ethernet frame.
Có 54 byte tính từ đầu tới nơi xuất hiện mã ASCII “G” trong “GET” của Ethernet frame Nhìn trên hình ta thấy nó là byte có mã hexa là 47 ở dòng thứ tư trong vùng nội dung hexa của frame 54 byte này gồm có 14byte đầu của Ethernet frame, 20 byte IP header và 20 byte TCP header trước khi bắt đầu của HTTP
5. Giá trị hexa của trường CRC trong Ethernet frame?
Là 4 byte cuối cùng của Ethernet frame có giá trị là : od oa od oa
6. Giá trị của địa chỉ nguồn Ethernet là gì? Có phải nó là địa chỉ của máy tính của bạn, hoặc của gaia.us.umass.edu ?(Gợi ý : câu trả lời là không) Thiết bị gì có nó như là địa chỉ Ethernet của nó?
Địa chỉ Ethernet gốc là : 00:1f:29:90:03:8f Đây không phải địa chỉ của máy em hay máy chủ gaia.us.umass.edu mà là địa chỉ của router HewlettP_90
Trang 177. Địa chỉ đích của Ethernet frame? Có phải nó là địa chỉ Ethernet của máy tính của bạn?
Địa chỉ đích của Ethernet frame là : 00:1b:fc:35:d9:4d và là địa chỉ của máy của tôi.
8. Đưa 1 giá trị hexa cho 1 trường kiểu Frame 2-byte Các bit có giá trị 1 có nghĩa gì bên trong trường cờ (flag field)?
Giá trị của trường Frame type là : 0x86dd
Vì ở đây là IP version 6 nên không có trường flag.
9. Có bao nhiêu byte tính từ bắt đầu của Ethernet frame mà mã ASCII “O” trong “OK”(ví dụ
mã phản hồi HTTP) xuất hiện trong Ethernet frame.
Có 75 byte tính từ bắt đầu của Ethernet frame để xuất hiện mã ASCII “O” trong “OK”
Trang 1810. Giá trị hexa của trường CRC trong Ethernet frame.
Là 4 byte cuối cùng của Ethernet frame có giá trị là : od oa od oa
B. The Address Resolution Protocol
11. Viết ra các nội dung cache ARP của máy tính của bạn Ý nghĩa của mỗi cột giá trị là gì?
Trang 1912. Giá trị hexa của địa chỉ nguồn và đích trong Ethernet frame, thứ chứa thông điệp ARP?
Giá trị hexa của địa chỉ nguồn là : 00:d0:59:a9:3d:68
Giá trị hexa của địa chỉ đích là : ff:ff:ff:ff:ff:ff vì đây là địa chỉ quảng bá.
13. Đưa địa chỉ hexa của trường kiểu Ethernet frame 2-byte Các bit giá trị 1 nghĩa là gì trong trường flag.
Giá trị hexa của trường type là : 0x0806 là kiểu ARP
14. Tải xuống các đặc tả ARP từ ftp://ftp.rfc-editor.org/in-notes/std/std37.txt 1 thảo luận chi tiết có thể đọc được của ARP cũng ở
c) Thông điệp ARP chứa hay không địa chỉ IP của người gửi (sender)?
d) Nơi nào trong yêu cầu ARP mà “question” xuất hiện – Địa chỉ Ethernet của máy tính
mà địa chỉ IP tương ứng đang được truy vấn.
Trang 20Trả lời :
a) Trường opcode bắt đầu sau 20 byte tính từ đâu Ethernet frame.
b) Giá trị của trường opcode trong phần ARP-payload của Ethernet frame mà ở
đó 1 yêu cầu ARP được tạo ra là : 00 01 c) Có thông điệp này chứa địa chỉ IP của người gửi là : 192.168.1.105
d) Nơi nào trong yêu cầu ARP mà “question” xuất hiện : khi trường Target MAC address được thiết lập thành 00 00 00 00 để yêu cầu địa chỉ tương ứng với địa chỉ IP 192.168.1.1
15. Bây giờ tìm tín hiệu trả lời ARP đã được gửi để trả lời cho yêu cầu ARP trên.
a) Có bao nhiêu byte tính từ điểm bắt đầu của Ethernet frame mà trường opcode ARP bắt đầu
b) Giá trị của trường opcode trong phần ARP-payload của Ethernet frame mà ở đó 1 phản hồi ARP được tạo ra?
c) Nơi nào trong thông điệp ARP mà “answer” cho yêu cầu ARP trước được xuất hiện – Địa chỉ IP của máy tính có địa chỉ Ethernet mà địa chỉ IP của máy tính tương ứng địa chỉ Ethernet đó đang được truy vấn.
Trang 2116. Giá trị hexa của địa chỉ nguồn và đích trong Ethernet frame chứa thông điệp ARP trả lời?
Giá trị hexa của địa chỉ nguồn là : 00:06:25:da:af:73
Giá trị hexa của địa chỉ đích là : 00:d0:59:a9:3d:68
17. Mở file trace ethernet-ethereal-trace-1 ở
http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip Các packet ARP đầu tiên và thứ 2 trong trace này tương ứng với yêu cầu ARP đã được gửi bởi máy tính chạy Wireshark, và phản hồi ARP được gửi tới máy tính chạy Wireshark bởi 1 máy tính với địa chỉ Ethernet có ARP được yêu cầu Nhưng
đó chỉ là 1 máy tính khác trên mạng này, như được đề cập bởi packet 6 – 1 yêu cầu ARP khác Tại sao ở đây không có ARP phản hồi ( gửi phản hồi cho yêu cầu ARP trong packet 6) trong packet trace này?
Trang 22Vì các yêu cầu ARP được quảng bá nhưng phản hồi ARP thì gửi trực tiếp tới máy tính có địa chỉ Ethernet đã gửi yêu cầu, do vậy máy tính chúng ta không phải là máy tính đã gửi yêu cầu ARP nên không nhận được phản hồi ARP mà chỉ nhận được yêu cầu ARP quảng bá.
Chú ý địa chỉ máy tính chúng ta là : 00:d0:59:a9:3d:68 trong khi đó địa chỉ của máy tính nhận
là 00:80:ad:73:8d:ce
5 Wireshark Lab : HTTP
Trang 232. Ngôn ngữ mà trình duyệt web của bạn chỉ ra nó có thể chấp nhận server
Ngôn ngữ trình duyệt chấp nhận là tiếng anh.
3. Địa chỉ IP address của máy bạn và gaia.cs.umass.edu server?
Địa chỉ IP máy nguồn là : 192.168.1.102
Địa chỉ IP của server là : 128.119.245.12
4. Mã trạng thái được trả về từ server cho trình duyệt của bạn.
Mã trạng thái được trả về từ server cho trình duyệt là : 2 00 OK
Mã này báo yêu cầu thành công và đối tượng được yêu cầu ở sau trong thông điệp này.
5. Thời điểm file HTML mà bạn đang nhận được chỉnh sửa lần cuối ở server?
Thời điểm file HTML được chỉnh sửa lần cuối ở server là :
6. Có bao nhiêu byte trong nội dung được trả về cho trình duyệt của bạn?
Số byte nội dung trả về cho trình duyệt là 73
Trang 247. Bằng cách xem xét dữ liệu thô trong cửa sổ nội dung packet, bạn thấy hay không bất kỳ các header bên trong dữ liệu, thứ không được hiển thị trong cửa sổ packet-listing? Nếu
có, gọi tên 1 trong số đó.
Không phải tất cả các header đều hiển thị trong cửa sổ packet-listing.
Ví dụ : Ethernet II hay Internet Protocol
8. Kiểm tra nội dung của yêu cầu HTTP GET đầu tiên từ trình duyệt của bạn tới server Bạn
có thấy 1 dòng “IF-MODIFIED-SINCE” trong HTTP GET?
Không tôi không thấy dòng “IF-MODIFIED-SINCE” trong HTTP GET
9. Kiểm tra các nội dung của phản hồi server Server có trả về rõ ràng các nội dung của file? Bạn có thể nói thế nào?
Có, nó được hiển thị trong trường “Line-based text data”
Trang 2510. Bây giờ kiểm tra các nội dung của yêu cầu HTTP GET thứ 2 từ trình duyệt của bạn tới server Bạn có thấy 1 dòng “IF-MODIFIED-SINCE” trong HTTP GET? Nếu có, Có thông tin
gì sau “IF-MODIFIED-SINCE:” header?
Có, Thông tin sau dòng đó là :
11. Code trạng thái HTTP được trả về từ server trong phản hồi lại HTTP GET thứ hai? Server
có trả về rõ ràng nội dung của các file? giải thích.
Code trạng thái HTTP được trả về là : HTTP/1.1 304 Not Modified
Server này không trả lại nội dung của file bởi vì file này không được chỉnh sửa và nó được hiển thị ra từ cache chứ không tải lại trên mạng.
12. Có bao nhiêu thông điệp yêu cầu HTTP GET được gửi bởi trình duyệt của bạn ?
Chỉ có 1 yêu cầu HTTP được gửi bởi trình duyệt
13. Có bao nhiêu TCP segment chứa dữ liệu là cần thiết để mang 1 HTTP response đơn?
Có tổng cộng 4 TCP segment cần thiết để mang 1 HTTP response đơn gồm :