Mạng máy tính bài tập
Trang 1BÀI THỰC HÀNH SỐ 5
1 Thực hành các lệnh
a Lệnh ipconfig
Chức năng: Hiển thị tất cả các giá trị đã đựơc thiết lập cho mạng dùng giao thức TCP/IP hiện tại trên máy bạn Lệnh này được dùng phổ biến trên hệ thống dùng giao thức cấp phát địa chỉ động (DHCP) để giúp người dùng kiểm tra cấu hình hiện tại mà DHCP đang thiết lâp cho hệ thống.
Cú pháp:
ipconfig
ipconfig /all Hiển thị thông tin chi tiết.
ipconfig /release Hủy bỏ địa chỉ IP và các thông tin cấu hình khác trên
card giao tiếp mạng này (nếu được phép).
ipconfig /renew Yêu cầu cấp mới một địa chỉ IP và thông tin cấu
hình khác trên card giao tiếp mạng này.
ipconfig /displaydns Hiển thị thông tin về các phân giải tên miền còn
lưu tạm (cache) trên máy tính Trên một host, DNS resolver đảm trách phân giải tên miền thông nhờ các DNS server.
ipconfig / flushdns Xxoá các phân giải gần đây trong cache.
Thực hành lệnh ipconfig để xem cấu hình mạng của máy hiện tại.
b Lệnh nslookup
Chức năng: NSLookup là một công cụ tiện dụng để giải quyết những khó khăn về DNS, chẳng hạn như host name resolution (tìm IP Address của một computer) bằng cách đọc những records trong DNS database.
Cú pháp:
nslookup
nslookup <name server>
Chú thích:
Trang 2- name là host name của record mà bạn đang tìm
- server là tên của server mà bạn muốn hỏi.
Ví dụ:
>nslooup
Default Server: ci237-195.netnam.vn
Address: 210.86.237.195
>www.yahoo.com
> Server: ci237-195.netnam.vn
Address: 210.86.237.195
Name: www-real.wa1.b.yahoo.com
Address: 209.131.36.158
Aliases: www.yahoo.com, www.wa1.b.yahoo.com
> exit
Chú ý: địa chỉ 209.131.36.158 là địa chỉ của website www.yahoo.com
Thực hành lệnh nslooup với các lựa chọn khác nhau Dùng ethereal để bắt các
gói tin lệnh nslooup và tìm hiểu chúng Nếu máy tính không có kết nối internet,
sử dụng ethereal mở tập tin Lab_5_Ethereal_a để tìm hiểu.
2 Thục hành về giao thức ICMP : Yêu cầu sinh viên nắm vững lý thuyết giao
thức ICMP
a. Ôn lại lệnh ping : kiểm tra kết nối đến một máy tính trên mạng ( TCP/IP) bằng cách gửi và nhận các gói tin ICMP
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout]
destination-list
-t dùng lệnh ping liên tục cho đến khi bạn tự ngắt nó bằng cách đóng
cửa sổ lệnh
- a phân tích địa chỉ đến một tên máy.
- n count số gói dữ liệu gửi đi để phân tích Mặc định là 4 gói.
- l length độ lớn của một gói dữ liệu gửi đi để phân tích Mặc định là
32 bytes, tối đa của giá trị length là 65.500 bytes
- f gửi đi một cờ hiệu không phải là một phân mãnh trong gói dữ
liệu Gói dữ liệu chỉ phân mãnh bởi cổng kết nối trên đường truyền
-i ttl thiết lập thời gian thực hiện lệnh.
Trang 3-v tos thiết lập kiểu dịch vụ.
-r count xác định số đường truyền gửi và nhận các gói dữ liệu Thấp
nhất là 1, cao nhất là 9
-s count chỉ định
-j computer-list chỉ ra lộ trình truyền dữ liệu qua danh sách các máy
được liệt kê trong computer-list Những máy tính liền kề trong danh sách có thể bị chia cắt bởi các cổng nối Tối đa là 9 máy trong danh sách tính bằng địa chỉ IP
-k computer-list chỉ ra lộ trình truyền dữ liệu qua danh sách các
máy được liệt kê trong computer-list Những máy tính liền kề trong danh sách không thể bị chia cắt bởi các cổng nối Tối đa là 9 máy trong danh sách tính bằng địa chỉ IP
-w timeout số phần trăm giây tạm dừng
destination-list danh sách các máy tính từ xa cần phân tích đường
truyền
b. ICMP & Ping :
i Khởi động chương trình cmd ( Start – Run – cmd )
ii Khởi động Ethereal và bắt gói tin
iii Sử dụng lệnh ping trong cmd: ping –n 10 www.ust.hk
iv Khi chương trình ping kết thúc, màn hình cmd có dạng :
v Ngừng bắt gói tin
vi. Nếu máy tính không có kết nối internet, sử dụng ethereal mở tập tin Lab_5_Ethereal_b
vii Nhập “icmp” vào ô filter để xem xét các gói tin ICMP ( ưu
tiên ECHO Request ) và trả lời các câu hỏi :
1 cho biết địa chỉ IP của máy tính và của trang web
2 tại sao gói tin ICMP không chứa port nguồn và đích
Trang 43 Phân tích một gói tin ICMP request được gửi bởi host
cho biết ICMP type và code number, liệt kê vài trường khác , cho biết số byte của các trường checksum, sequence number, identifier ?
4 Phân tích một gói tin ICMP reply được gửi bởi host
cho biết ICMP type và code number, liệt kê vài trường khác , cho biết số byte của các trường checksum, sequence number, identifier ?
c. ICMP & traceroute : phân tích đường đi của dữ liệu đến đích, trên môi trường Unix /Linux các gói tin UDP được gửi đến đích ở các cổng dịch vụ khác nhau trên Window các gói tin ICMP được gửi đến đích, trên cả hai HDH gói tin đầu tiên được gửi đi với TTL = 1; gói tin thứ 2 với TTL =2 và tiếp tục …quá trình này xác định được các router gói tin phải đi qua để đến đích; khi một gói tin đến Router thì TTL sẽ bị giảm đi một đơn vị, nếu gói tin đến Router có TTL = 1 thì Router sẽ gửi một gói tin ICMP error về cho máy gửi
i Khởi động chương trình cmd
ii Khởi động Ethereal và bắt gói tin
iii Trong cmd sử dụng lệnh tracert : tracert www.inria.fr
iv Sau khi chuơng trình tracert kết thúc màn hình cmd có dạng
Trang 5vi Nếu máy tính không có kết nối internet, sử dụng ethereal mở
tập tin Lab_5_Ethereal_c
vii Quan sát các gói tin icmp và trả lời các câu hỏi sau :
1 cho biết địa chỉ IP của máy gửi và máy nhận
2 phân tích thông tin của gói tin ICMP echo và cho biết
sự khác nhau so với các gói tin ICMP query khi sử dụng lệnh ping
3 phân tích thông tin của gói tin ICMP error, cho biết sự
khác nhau so với gói tin ICMP echo, cho biết nội dung của các trường mới đó
4 xét 3 gói tin ICMP cuối cùng mà máy nhận được, cho
biết sự khác nhau của các gói này so với gói tin ICMP error
3 Thực hành về giao thức IP: Yêu cầu sinh viên nắm vững lý thuyết giao
thức IP
d Capturing packets from an execution of traceroute :
i. Download và cài đặt chương trình traceroute
http://www.pingplotter.com
Kích thước mặc định của gói tin được gửi đi bởi chương trình pingplotter là 56bytes Để thay đổi kích thước gói tin chọn
Trang 6Edit -> Options ->Defaults Settings ->Engine -> điền giá trị
vào ô Packet size
ii. Khởi động Ethereal và bắt gói tin
iii Khởi động pingplotter
- Nhập địa chỉ www.uit.edu.vn vào ô Address to Trace
- Nhập 3 vào ô “# of times to Trace”
- chọn Edit – Options – Default Setting - Engine và nhập 56
vào Packet Size – chọn OK
- click chọn nút Trace
- thay đổi kích thước gói tin gửi đi trong pingplotter với giá trị 2000 – sau đó chọn Resume
- thay đổi kích thước gói tin gửi đi trong pingplotter với giá trị 3500 – sau đó chọn Resume
- Dừng bắt gói tin ( Stop )
- Nếu máy tính không có kết nối ineternet Sử dụng ethereal
Trang 7mở tập tin Lab_5_Ethereal_ip_pp_iii
a xét các gói tin ICMP request gửi đi bởi máy tính, xét phần
Internet Protocol, cho biết kích thước trường IP header và kích thước phần payload ?
b trong các gói tin ICMP request được gửi đi hãy tìm gói tin
bị phân mảnh và giải thích ?
c sắp xếp các gói tin bằng cách click vào cột Source, tìm gói
tin ICMP request đầu tiên Lần lượt quan sát các gói tin, cho biết trường nào ( fields ) trong gói tin luôn luôn thay đổi ? trường nào không thay đổi ? giải thích lý do ?
d Xét các gói tin ICMP TTL exceeded reply cho biết giá trị
của các trường TTL và Identification ? so sánh giá trị TTL và Identification của các gói tin được gửi bởi 1 router ?
e Tìm gói tin ICMP request đầu tiên khi thay đổi kích thước gói tin gửi đi của pingplotter sang 2000 cho biết thông tin
nào giúp xác định gói tin có bị phân mảnh hay không ? có phải là fragment đầu tiên hay fragment sau
f Tìm fragment thứ 2 của gói tin, thông tin nào cho biết nó
không phải là fragment thứ nhất ? có phải là fragment cuối cùng hay ko ? trường nào trong IP header thay đổi giữa fragment thứ nhất và thứ 2 ?
g tìm gói tin ICMP request đầu tiên khi thay đổi kích thước gói tin gửi đi sang 3500 gói tin được chia thành bao nhiêu
fragment ? trường nào trong IP header thay đổi giữa các fragment ?