Máy tính và mạng truyền thông, thực hành các lênh
Trang 1BÀI THỰC HÀNH SỐ 3
1 Thực hành các lệnh
a Lệnh netstat
Công dụng:
Hiển thị tình hình hoạt động của các giao thức và các kết nối TCP/IP hiện tại
Cú pháp:
netstat <-a> <-e> <-n> <-s> <-p protocol> <-r> <interval>
-a hiển thị tất cả các kết nối và các cổng đang lắng nghe
-e hiển thị các thông kê về Enthernet
-n hiển thị địa chỉ và số cổng dưới định dạng số
-s hiển thị trạng thái của từng giao thức
-p protocol hiển thị các kết nối giao thức được chỉ tên TCP hoặc UDP
-r hiển thị nội của bảng lộ trình
interval không thời gian tính bằng giây trễ giữa các hiển thị
Ví dụ:
netstat
netstat -a
Nhiệm vụ thực hành:
Thực hành lệnh netstat với tất cả các lựa chọn, cho biết trên máy hiệc có các cổng
nào đang lắng nghe, các cổng đó thuộc các giao thức nào
b Lệnh net view
Công dụng:
Lệnh này dùng để xem danh sách các tài nguyên đang được chia sẽ của một máy bất kỳ nếu không có bất cứ tham số nào có nghĩa là nó sẽ hiển thị tài nguyên của máy cục bộ
Trang 2net view <\\computername | /domain<:domainname>>
\\ computername tên máy cần hiển thị danh sách tài nguyên đã chia sẽ
net view \\ip
(dùng cho máy trên mạng hoặc tên hoặc địa chỉ IP)
Nhiệm vụ thực hành:
Thực hành lệnh net view với các lựa chọn và các địa chỉ IP của các máy bên
cạnh
c Lệnh ping
Công dụng:
Phân tích sự kết nối đến một máy từ xa trên mạng Lệnh này chỉ có hiệu lực khi máy chúng ta đã cài giao thức TCP/IP
Cú pháp:
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 chúng ta 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.527 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
Trang 3-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
Nhiệm vụ thực hành:
Thực hành lệnh ping với các lựa chọn khác nhau Dùng ethereal để bắc các gói tin lệnh ping và tìm hiểu chúng
2 Tìm hiễu giao thức TCP qua việc bắt các gói tin được gửi từ đi tới một Server ở xa
Trong phần này chúng ta sẽ nghiên cứu một cách chi tiết các hoạt động cuả giao thức TCP, chúng ta sẽ thực hiện điều này bằng cách phân tích các gói tin TCP được nhận khi mà trao đổi 1 file từ máy của chúng ta tới 1 máy Server ở xa Chúng ta sẽ nghiên cứu các giao thức TCP sử dụng các số thứ tự để đảm bảo việc truyền dữ liệu một cách an toàn
Chúng ta sẽ bắt các gói tin TCP khi máy tính gửi file lên server, trình duyệt sẽ truy xuất một trang web cho phép upload file từ client, và sử dụng phương thức HTTP POST để truyền file lên server
a. Khởi động trình duyệt, truy xuất địa chỉ http://gaia.cs.umass.edu/ethereal-labs/ alice.txt , download file alice về máy
b. Truy xuất đến địa chỉ http://gaia.cs.umass.edu/ethereal-labs/TCP-ethereal-file1.html , màn hình trình duyệt sẽ có dạng như sau :
Trang 4c. Sử dụng Browse button để chọn file vừa download ở bước a.
d. Khởi động ethereal và bắt gói tin
e. Quay lại trình duyệt , chọn button Upload alice.txt file chờ đến khi upload
file xong (trình duyệt hiển thị một thông báo thành công)
f. Dừng bắt gói tin ( stop ), trước khi phân tích chi tiết giao thức TCP, hãy xem xét một cách tổng quát các gói tin vừa thu được
tin Lab_TCP hoặc Lab_ie_TCP
Nhiệm vụ thực hành:
Trang 5Enable Protocols -> uncheck HTTP -> OK để thay đổi thông tin hiển thị trong “listing of captured packets”
3 Cho biết sequence number của TCP SYN segment mà client dùng để khởi tạo kết nối với web server ? trường nào giúp xác định nó là một SYN segment
4 Cho biết sequence number của SYNACK segment được gửi bởi Web server khi trả lời cho SYN từ client ?
5 Cho biết giá trị của trường Acknowledgement trong SYNACK segment? Giải thích vì sao Web server sử dụng giá trị này ? trường nào cho biết đây là một SYNACK segment
6 Tìm TCP segment chứa HTTP POST ( dựa vào chuỗi “POST” trong trường DATA, cho biết sequence number ?
7 Xem TCP segment ở câu 6 là segment đầu tiên của kết nối TCP Cho biết sequence number của 6 segment đầu tiên ? thời gian chúng được gửi ? cho biết thời gian mà gói tin ACK được gửi cho các segment đó ? cho biết sự khác nhau của các TCP segment gửi đi?
8 Tìm sự khác nhau của các ACK nhận được ? cho biết giá trị RTT của 6 segment đó ? cho biết giá trị EstimatedRTT sau khi nhận các gói ACK ?
9 Cho biết chiều dài của 6 TCP segment đầu tiên ?
10 Cho biết kích thước nhỏ nhất của bộ đệm ( buffer ) tại client cần thiết để nhận dữ liệu ?
11 Cho biết trong quá trình gửi file có segment nào phải gửi lại hay ko ? giải thích ?