Trường ĐH Công Nghệ Thông Tin
Mạng Máy Tính & Truyền Thông
• Time To Live [TTL] – Chỉ ra số bước nhảy [hop] mà một gói có thể đi
qua.Con số này sẽ giảm đi một khi một gói tin đi qua một router. Khi bộ đếm đạt tới
0 gói này sẽ bị loại. Đây là giải pháp nhằm ngăn chặn tình trạng lặp vòng vô hạn của
gói nào đó.
• Protocol – Chỉ ra giao thức lớp trên, chẳng hạn như TCP hay UDP, tiếp nhận
các gói tin khi công đoạn xử lí IP hoàn tất, có 8 bit.
• Header CheckSum – Giúp bảo dảm sự toàn vẹn của IP Header, có 16 bit.
• Source Address – Chỉ ra địa chỉ của node truyền diagram, có 32 bit.
• Destination Address – Chỉ ra địa chỉ IP của Node nhận, có 32 bit.
• Padding – Các số 0 được bổ sung vào field này để đảm bảo IP Header luôn la
bội số của 32 bit.
• Data – Chứa thông tin lớp trên, chiều dài thay đổi đến 64Kb.
Trong khi địa chỉ IP của nguồn và đích là quan trong của hoạt động của IP, các
trường khác làm cho IP rất linh hoạt.Các Header Field là thông tin được cung cấp
cho các giao thức lớp trên xác định dữ liệu đóng gói.
Truyền Thông An Ninh Thông Tin
44
Trường ĐH Công Nghệ Thông Tin
Mạng Máy Tính & Truyền Thông
Các trường [field] trong 1 gói tin IP
3.2 .THỰC HÀNH PHÂN TÍCH VÀ NHẬN DẠNG GÓI TIN IP
Chuẩn bị: Đăng nhập vào window server 2k3 với quyền admin. Tại cửa sổ cmd
và chương trình bắt gói tin đang mở
1. Trong wireshark, bắt đầu tiến trình bắt gói và cứ để nó chạy
2. Mở cmd và gõ ftp ip_address với ip_address là địa chỉ máy cần kết nối
3. Thời điểm này, kết nối chưa thực hiện được, gõ bye và thoát cmd
4. Dừng bắt gói tin
5. Lọc lấy gói tin FTP
6. Tham khảo các trường version number, time to live, protocol, source
address, des address
Truyền Thông An Ninh Thông Tin
45
Trường ĐH Công Nghệ Thông Tin
Mạng Máy Tính & Truyền Thông
Thông tin gói tin IP
3.3 PHÂN TÍCH VÀ NHẬN DẠNG GÓI TIN ICMP
Cấu trúc 1 gói tin ICMP
ICMP [Internet Control Message Protocol] nó được thiết kế để gửi tin nhắn kiểm
soát giữa các router và máy chủ. Ví dụ, một gói ICMP có thể được gửi khi một router đang
trải qua tình trạng tắc nghẽn hoặc khi một máy chủ đích không có.
Trường đầu tiên là Type. Đây là một giá trị 8 bit, để nhận dạng thông điệp gói ICMP.
Ví dụ trường này có giá trị là 3 là gói tin không có đích đến
Trường tiếp theo là Code. Có giá trị 8 bit. Nó thể hiện thông tin chi tiết dựa vào
trường Type. Ví dụ Type là 3 Code có giá trị 1 là không tìm thấy host
Tiếp theo là Checksum. Kiểm tra lỗi toàn bộ gói tin ICMP
Truyền Thông An Ninh Thông Tin
46
Trường ĐH Công Nghệ Thông Tin
Mạng Máy Tính & Truyền Thông
Tiếp theo là trường thông điệp. Không thể sửa, dựa vào Type và Code
3.4. THỰC HÀNH PHÂN TÍCH VÀ NHẬN DẠNG THÔNG ĐIỆP ICMP
Window server 2003, mở cmd và ping một địa chỉ rồi bắt gói tin lại. Xem gói
tin ICMP. Kiểm tra thông tin các trường Source address, des address, type, code,
payload for ping
Thông tin gói tin ICMP
3.5. PHÂN TÍCH VÀ NHẬN DẠNG THÔNG ĐIỆP TCP
Truyền Thông An Ninh Thông Tin
47
Trường ĐH Công Nghệ Thông Tin
Mạng Máy Tính & Truyền Thông
Gói TCP với các trường
Cấu trúc TCP segment:
• Source/Destination port number: 2 điểm cuối của kết nối TCP. Port number +
IP add→ socket [48 bit]
• Seq. number = số thứ tự byte đầu tiên của data so với byte đầu của dòng
dữ liệu của thực thể gửi. Giá trị ban đầu = ISN+1 [Initial Sequence Number]
• ACK: Byte tiếp theo có thể nhận [stt byte cuối cùng đã nhận đúng + 1]
• TCP header length:đơn vị 32 bit; đó cũng chính là data offset.
• Resered = 0:để dùng trong tương lai.
• Flags [6]:
–URG =1: có sử dụng trường Urgent pointer.
–ACK =1: trường Ack đúng.
–PSH =1: thực thể nhận được y/c chuyển ngay segment này
–RST =1: Reset kết nối; từ chối kết nối v.v.
–SYN =1:đồng bộ trường Seq. , dùngđể thiết lập kết nối TCP
–FIN =1: thông báo thực thể gửiđã kết thúc việc gửi số liệu.
• Window size:Độ lớn cửa sổ nhận, cho bên sender biết có thể gửi tiếp bao
nhiêu byte, tính từ byte được biên nhận [ack].
Truyền Thông An Ninh Thông Tin
48
Trường ĐH Công Nghệ Thông Tin
Mạng Máy Tính & Truyền Thông
• Checksum: checksum của cả TCP segment + Pseudo header. Trước khi tính,
trường này = 0. [Tổng các word 16 bit kiểu bù 1, kết quả thuđược lại tính bù 1 XOR].
• Urgent pointer: byte trong trường data của TCP segment cần được xử lý đầu
tiên.
• Options: Các tuỳ chọn. Hiện nay tuỳ chọn duy nhất được dùng là MSS
[Maximum Segment Size]. Giá trị default = 536 byte payload + 20 byte header =
556 byte.
• Pad [ở hình trên slide trước không vẽ]: chèn thêm để chiều dài trường
Options là bội của 32 bit.
• Data: số liệu của ứng dụng TCP
3.6. Thực hành phân tích và nhận dạng thông điệp TCP
Mở cmd, thiết lập một phiên Telnet và xem gói TCP.
Thông tin gói tin TCP
3.7. Phân tích và nhận dạng thông điệp UDP
Truyền Thông An Ninh Thông Tin
49
Trường ĐH Công Nghệ Thông Tin
Mạng Máy Tính & Truyền Thông
Gồm các trường tên cổng nguồn/ đích, chiều dài , kiểm tra lỗi, dữ liệu.
Thông tin gói tin UDP
3.8 Phân tích và nhận dạng gói UDP Header
3.8.1 Bắt và xác định gói UDP Headers.
Truyền Thông An Ninh Thông Tin
50
Trường ĐH Công Nghệ Thông Tin
Mạng Máy Tính & Truyền Thông
So sánh với TCP, UDP là một giao thức truyền rất đơn giản, UDP headers và
dữ liệu sẽ được đóng gói trong IP datagram, gần giống như TCP. Trong hình 2-19,
bạn có thể nhìn thấy dạng thực tế của UDP header. Có 3 dòng thông tin trong hình
này. Cũng như TCP, khi một máy tính nhận được UDP header, nó sẽ bắt đầu đọc
dòng đầu tiên và từ bên trái qua, từng bit từng bit một. Một khi nó đọc xong dòng
đầu, nó sẽ tiếp tục dòng thứ hai và tiếp tục như thế.
Hình 2-19: Một UDP header với tất cả trường của nó.
Sử dụng hình 2-19, chúng ta sẽ tập trung vào phần header, xác định chức năng
của mỗi vùng. Sau khi xác định các trường, chúng ta sẽ dùng Network Monitor để
bắt và phân tích gói tin UDP header.
- Bắt đầu từ dòng một, ô bên trái là một trường được gọi là Source Port
Number. Trường này là một giá trị 16 bit để định nghĩa tầng application bên trên
đang sử dụng UDP ở host nguồn.
- Trường thứ hai của dòng đầu được gọi là Destination Port Number. Trường
này là một giá trị 16 bit để định nghĩa cho tầng application bên trên đang sử dụng
UDP ở host đích.
- Ở dòng thứ hai, trường bên tay trái được gọi là UDP Length. Đây là giá trị 16
bit để định nghĩa chiều dài của dữ liệu gói UDP và UDP header.
- Trường thứ hai của dòng thứ hai là trường được gọi là UDP Checksum. Đây
là giá trị 16 bit được dùng để cung cấp khả năng kiểm tra toàn vẹn của UDP header
và UDP data. Giá trị này sẽ được tính toán bởi người gửi, sau đó lưu lại và người
nhận so sánh với giá trị nhận được.
- Dòng thứ ba là nơi dữ liệu user thực được lưu trữ. Nó có thể cho một user
gửi một UDP datagram với dữ liệu có kích thước 0 bytes.
3.8.2 Working with UDP Headers
Truyền Thông An Ninh Thông Tin
51
Trường ĐH Công Nghệ Thông Tin
Mạng Máy Tính & Truyền Thông
Cài đặt: bạn hãy logged vào Windows Server 2003 với quyền Administrator,
và chạy Network Monitor.
1.
Tìm đến C:\Tools\Lesson2. Trong folder này là một file tftp.cap. Mở
tftp.cap trong Network Monitor.
2.
Mở chi tiết của khung UDP bất kỳ, và so sánh nó trong bài thảo
luận. Chú ý thông tin bên dưới:
a.
Source Port.
b.
Destination Port.
c.
UDP thực tế là cái gì.
3.
Khi bạn đang phân tích gói traffic này, chắc chắn rằng không có
phiên làm việc nào đang hoạt động, khi UDP bị mất kết nối.
4.
Đóng capture.
Truyền Thông An Ninh Thông Tin
52
Trường ĐH Công Nghệ Thông Tin
Mạng Máy Tính & Truyền Thông
Chương IV- Phân tích gói dữ liệu phân
mảnh và một Session hoàn chỉnh
Tất cả dữ liệu được chuyển dịch trong mạng trong một lần hoặc nhiều lần khác
nhau, tùy đoạn dữ liệu được phân mảnh. Điều này là do thực tế rằng tất cả các mạng
phức tạp thì được cấu thành từ các đa phương tiện khác nhau và cách cấu hình khác
nhau. Vì thế, một gói packet có kích thước chính xác không đổi có thể là phù hợp ở
một segment, nhưng nó lại quá lớn đối với segment kế tiếp. Gói packet có kích
thước hạn chế thì cho phép tồn tại trong mô hình mạng đa dạng hoặc từ mạng này
sang mạng khác được gọi là Maxium Trasmission Unit [MTU].
Khi datagram được phân mảnh, nó sẽ không tập hợp lại cho đến khi nó tìm
được đến địa chỉ đích cuối cùng. Khi datagram bị phân mảnh, mỗi mảnh trở thành
gói packet truyền độc nhất và được nhận một lần duy nhất.
TCP segments được gửi đi sử dụng IP datagram. TCP mong đợi tỷ lệ một một
của segment đến datagram. Do đó, IP trên người nhận cuối phải hoàn thành việc kết
hợp datagram trước khi gửi segment đến TCP. Trong mối quan hệ giữa TCP và IP,
các ràng buộc bên dưới có ảnh hưởng đến phân đoạn được định nghĩa:
- Kích thước lớn nhất gói segment TCP [MMS] là IP kíc thước lớn nhất gói IP
datagram trừ đi 40 octets.
- Kích thuớc mặc định của Maxium Datagram Size là 576 octets.
- Kích thuớc mặc định của Maxium Segment Size là 536 octets.
Việc phân mảnh hiếm khi xảy ra ở nguồn của một datagram, nhưng cũng có
thể có. Ví dụ như một host nhận nói rằng nó có thể chấp nhận những segments mà
có kích thước lớn hơn nhiều lần segments mà các user bình thường vẫn gửi. Một ví
dụ khác là host nằm trong môi trường mạng chạy gói tin kích thước nhỏ, như là PPP,
và dùng một ứng dụng chỉnh sửa kích thước gói tin.
Truyền Thông An Ninh Thông Tin
53
Trường ĐH Công Nghệ Thông Tin
Mạng Máy Tính & Truyền Thông
Nhìn chung là sau cùng việc phân mảnh là ở gateway, nơi mà có sự khác biệt
MTU trên các cổng khác nhau rất cao. Bên dưới là danh sách các MTU trên các
thiết bị khác nhau:
-
PPP: 296 bytes
Ethernet: 1500 bytes
Token Ring [4 MB/s]: 4464 bytes
Token Ring [16 MB/s]: 17914 bytes
Hình 2-20: cách thức truyền của đoạn phân mảnh
4.1 Phân tích đoạn phân mảnh
Cài đặt: log vào windows server 2003 với quyền Administrator sau đó chạy
Network Monitor.
1.
Monitor.
2.
3.
Tìm đến C:\Tools\Lesson2 và mở fragment.cap trong Network
Mở chi tiết frame 1, quan sát Fragment flag.
Nhận ra rằng, trong frame 1, không có Fragment Offset, như là
fragment đầu tiên.
4.
Chọn một vài frames liên tiếp. Nhận ra rằng mỗi frame liên tiếp có
Fragment Offset lớn hơn nó ở xa hơn so với datagram ban đầu.
5.
Nhậ ra rằng IP ID là không đổi cho mỗi fragment.
6.
Mở chi tiết frame 16.
Truyền Thông An Ninh Thông Tin
54