PHÂN TÍCH PHIÊN LÀM VIỆC CỦA TCP
Trang 1MỤC LỤC 1
CHƯƠNG II PHÂN TÍCH PHIÊN LÀM VIỆC CỦA TCP 19
TASK II-1 : SỬ DỤNG CÔNG CỤ QUẢN LÝ MẠNG 25
Sử dụng Network Monitor để bắt gói tin 26
Lọc gói tin ( lọc theo giao thức ) 28
TASK II – 2&3 : TÌM HIỂU WIRESHARK 30
Tổng quan về wireshark 30
Cài đặt và bắt đầu với Wireshark 30
TASK II – 4 : PHÂN TÍCH QUÁ TRÌNH BẮT TAY 3 BƯỚC 33
TASK II– 5 : PHÂN TÍCH QUÁ TRÌNH NGẮT KẾT NỐI TCP ( SESSION TEARDOWN PROCESS ) 37
TỔNG KẾT 42
CHƯƠNG III- PHÂN TÍCH VÀ NHẬN DẠNG GÓI TIN IP, ICMP, TCP, UDP 43
3.6 THỰC HÀNH PHÂN TÍCH VÀ NHẬN DẠNG THÔNG ĐIỆP TCP 48
3.7 PHÂN TÍCH VÀ NHẬN DẠNG THÔNG ĐIỆP UDP 49
3.8 PHÂN TÍCH VÀ NHẬN DẠNG GÓI UDP HEADER 50
4.1 PHÂN TÍCH ĐOẠN PHÂN MẢNH 53
4.2 PHÂN TÍCH MỘT SESSION HOÀN CHỈNH 54
4.2.1 Phân tích một gói ICMP Session hoàn chỉnh 54
4.2.2 Truyền thông FTP 58
4.2.3 Biểu diễn một phân tích FTP session hoàn chỉnh 59
83
Trang 2Chương I-Tìm hiểu TCP/IP
Khái quát về TCP/IP
Khi 2 host truyền thông với nhau, chúng phải thoả thuận giao thức truyền thông để sử dụng trong việc trao đổi thông tin lẫn nhau Giao thức mà trên Internet đã xây dựng và cũng là giao thức mà tất cả các host trên Internet sử dụng là giao thức TCP/IP (Transmission Control Protocol/ Internet Protocol) Vì thế 2 host truyền thông phải thoả thuận trước giao thức chúng sẽ truyền thông Chúng ta sẽ đi sâu vào chi tiết của giao thức này
1.1 Mô hình TCP/IP.
Các dữ liệu để di chuyển từ một máy này đến một máy khác, nó phải được truyền đi và nhận lại Trên lý thuyết có một số cách có thể thực hiện được như:
•Các file dữ liệu có thể được gửi như toàn bộ một tập tin nguyên vẹn, từ một máy này đến máy khác
•Các file dữ liệu có thể được chia làm đôi và gửi đi
•Các file dữ liệu có thể được chia thành nhiều phần nhỏ, tất cả được gửi và nhận theo một trình tự cụ thể Đây là phương pháp mà hiện nay đang áp dụng thực tế Ví dụ, nếu người dùng ở một máy khách và muốn xem một trang web trên một máy chủ khác, thì máy khách phải yêu cầu và sau đó máy chủ sẽ đáp ứng nhiều bước nhỏ để hoàn thành
Hình 2-1: Sơ đồ một yêu cầu đến web server theoTCP/IP Model.
Trang 3Trong Hình 2-1, chúng ta có thể thấy bốn lớp của TCP / IP Model, cùng với yêu cầu của một trang web của web browser đi đến web server.
Bốn lớp của mô hình TCP / IP:
•Application Layer
•Transport Layer
•Internet Layer (còn gọi là lớp mạng)
•Network Access Layer (còn gọi là lớp liên kết)
Mô hình TCP/IP ra đời là do trước đó các lớp này không được thống nhất theo một tiêu chuẩn chung, nên mô hình này ra đời nhằm mục đích là thống nhất sử dụng các qui định chung trên toàn thế giới
Chi tiết các lớp này như sau:
•Lớp Application : là tầng cao nhất trong mô hình, và giao tiếp với các phần mềm người dùng và hệ thống mạng
•Lớp Transport : là nơi vận chuyển gói tin, nơi tryền thông tin cậy của thông tin liên lạc được xử lý với 2 giao thức :
o TCP (Transmission Control Protocol) và UDP (User Datagram Protocol) Và sự khác nhau của hai giao thức này là TCP cung cấp phương thức truyền thông tin cậy còn UDP thì không
•Lớp Internet (hoặc Network Layer) cung cấp các cơ chế và thông tin cần thiết về địa chỉ để có thể truyền dữ liệu từ máy này đến máy khác Các giao thức chính của lớp này là IP (Internet Protocol)
•Các Network Access Layer (hoặc Link Layer) là nơi mà các thông tin liên lạc dữ liệu tương tác với môi trường vật lý của mạng
Như bạn đã thấy trong Hình 2-1, theo yêu cầu trang web đã được bắt đầu trên host, nó
di chuyển xuống các lớp, được truyền trên mạng, và di chuyển đến web server Đây là những lớp mà trên đó tất cả các giao tiếp mạng sử dụng dựa trên giao thức TCP / IP
Trang 4Mô hình Open Systems Interconnect (OSI) có bảy lớp, so với bốn lớp của TCP / IP.
Bảy lớp của mô hình OSI là:
Lớp Presentation: chịu trách nhiệm cho các dịch vụ dữ liệu như nén dữ liệu
và mã hóa dữ liệu / giải mã
•Lớp Session : có trách nhiệm thành lập, quản lý (như gói kích thước), và kết thúc một phiên họp giữa hai máy
•Lớp Transport : có trách nhiệm vận chuyển và kiểm soát lỗi, phục hồi dữ liệu giữa hai máy Cả hai giao thức TCP và UDP đều làm việc ở lớp này
•Lớp mạng chịu trách nhiệm giải quyết hợp lý, định tuyến, và forwarding datagrams
IP làm việc ở lớp này
•Lớp Data Link chịu trách nhiệm đóng gói dữ liệu cho việc vận chuyển trên các phương tiện vật lý Kiểm soát lỗi được thêm ở lớp này bằng cách tính CRC Lớp này được chia thành 2 lớp con LLC (Logical Link Control) và MAC (Media Access Control) Lớp con
Trang 5MAC được kết hợp với các địa chỉ vật lý của thiết bị mạng và các lớp con LLC làm cho sự liên kết giữa địa chỉ vật lý (như các địa chỉ MAC 48-bit nếu sử dụng Ethernet) và địa chỉ hợp
lý (ví dụ như địa chỉ IP 32-bit nếu sử dụng IP) ở Network Layer
•Lớp Physical Layer chịu trách nhiệm cho việc truyền tải và nhận các bit dữ liệu truyền trên các phương tiện vật lý
Mô hình OSI và TCP / IP tương thích với nhau Trong Hình 2-2, chúng ta có thể thấy rằng 2 lớp chính trong mô hình TCP / IP (Transport và Internet Layer) thì tương ứng với 2 lớp (Transport và Network Layer) của mô hình OSI Và 2 lớp khác của mô hình TCP / IP thì tương ứng với 2 hoặc ba lớp trong mô hình OSI
Các dữ liệu từ một host di chuyển xuống các lớp của mô hình, mỗi lớp gắn một mẩu nhỏ thông tin liên quan đến lớp đó đính kèm này gọi là header Ví dụ, header của Network Layer sẽ xác định địa chỉ hợp lý (như địa chỉ IP) sử dụng cho truyền dẫn này Quá trình gắn thêm 1 header ở mỗi lớp được gọi là đóng gói Hình 2-3 cho thấy một header và quá trình đóng gói
Trang 6Khi các host nhận được dữ liệu, và dữ liệu được di chuyển lên các lớp,mỗi header sẽ cho phép các host biết làm thế nào để xử lý phần dữ liệu này Sau khi tất cả các header được gỡ bỏ, máy nhận sẽ nhận được dữ liệu giống như dữ liệu ban đầu mà nó được gửi đi.
1.3 RFC
Với tất cả các tiêu chuẩn quy định trong phần trước, chúng ta có thể tìm thấy chúng trên các RFC Một Request For Comments (RFC) cho biết các tiêu chuẩn liên quan đến TCP / IP và Internet RFC là văn bản tự do có sẵn để đọc và nghiên cứu, và nếu muốn tìm hiểu thật kỹ thì chúng ta nên tìm hiểu và đọc RFC
Để tìm và đọc RFC chúng ta nên truy cập vào trang www.rfc-editor.org Đây là trang web với một chỉ mục tìm kiếm của tất cả RFC Có vài RFC quen thuộc với chúng ta, và chúng ta nên biết tên để tìm kiếm Bằng cách này chúng ta sẽ không phải tìm kiếm hàng trăm câu trả lời để tìm thấy những gì chúng ta cần Các RFC chúng ta nên biết là:
•Các Internet Protocol (IP): RFC 791
•Các Internet Control Messaging Protocol (ICMP): RFC 792
•Các Transmission Control Protocol (TCP): RFC 793
•Các Uer Datagram Protocol (UDP): RFC 768
Trang 71.4 Các chức năng của IP
Các giao thức Internet (làm việc tại tầng Network của cả hai mô hình OSI và TCP / IP), theo định nghĩa, có một chức năng đơn giản là IP xác định host hiện hành thông qua địa chỉ và sử dụng địa chỉ để di chuyển một gói thông tin đến một host khác Mỗi host lưu trữ trên mạng có một địa chỉ IP duy nhất, và mỗi gói tin của host gửi sẽ chứa địa chỉ IP nguồn và IP đích Các gói tin này sẽ được định tuyến trên mạng thông qua các Router bằng cách sử dụng các IP đích,cho đến khi chúng đến được máy nhận và máy nhận có thể đọc các
IP địa chỉ của người gửi và gửi phản hồi lại nếu cần thiết
Mặc dù nó có vẻ đơn giản, nhưng trong khi thi hành có những hạn chế.Ví dụ, khi các gói tin được gửi đi từ các host khác, chúng có thể nhận được theo thứ tự IP không có cơ chế này Ngoài ra, các gói tin có thể bị mất hoặc bị hỏng trong quá trình truyền, một lần nữa vấn
đề IP không giải quyết được Những vấn đề này sẽ được một giao thức trên quản lý đó là TCP, chúng ta sẽ tìm hiểu chúng qua các chủ đề sau
Chuyển Đổi Nhị phân, Thập phân, và hệ Thập lục phân.
Mặc dù chúng ta có thể quen với các khái niệm về toán học nhị phân, nhưng chúng ta
sẽ xem xét lại phần này một cách tóm tắt Trong hệ nhị phân, mỗi bit có 2 trạng thái là 1 hoặc 0 Trong máy tính, các bit này được lưu trữ trong 1 nhóm 8 bits và nhóm 8 bits này gọi
là 1 byte Khi các bit này được trình bày như là một byte, giá trị của mỗi vị trí trong 8 vị trí
đó tương đương với số thập phân Ví dụ, nếu tất cả 8 bit là 1 , như là: 11111111, thì giá trị thập phân sẽ là 255 hoặc 128 +64 +32 +16 +8 +4 +2 +1 Đây là một số cách chuyển đổi nhanh từ nhị phân sang thập phân:
11000000 nhị phân là số thập phân 192 hoặc 128 +64 +0 +0 +0 +0 +0 +0
10000000 nhị phân là số thập phân 128 hoặc 128 +0 +0 +0 +0 +0 +0 +0
10000010 nhị phân là số thập phân 130 hoặc 128 +0 +0 +0 +0 +0 +2 +0
01011010 nhị phân là số thập phân 90 hoặc 0 +64 +0 +16 +8 +0 +2 +0
Trang 8Các địa chỉ IP được gán bằng tay hoặc tự động cho một host là một trường gồm 32 bits
và thường được hiển thị là bốn obtet dưới dạng cơ số phân để dễ đọc
Ví dụ, một địa chỉ thông thường sẽ được 192.168.10.1 Mỗi số là một octet 8 bitsnhị phân Trong ví dụ này, các octet đầu tiên là 192, thứ hai 168,thứ ba 10, và thứ tư 1.Địa chỉ IP 192.168.10.1 được máy tính xem như dãy nhị phân sau:
11000000.10101000.00001010.00000001
Trong công cụ được thiết kế để nắm bắt và phân tích lưu lượng mạng, địa chỉ IPthường được đại diện trong định dạng (Hex) hệ thập lục phân của nó Khả năng xem và giải quyết ở dạng Hex là một kỹ năng hữu ích để có khi chúng ta đang làm việc với TCP / IP Trong định dạng thập lục phân, các địa chỉ IP 192.168.10.1 là
C0-A8-0A-01
Sau đây là tóm tắt nhanh về chuyển đổi Hex
Để chuyển đổi địa chỉ số thập phân 192.168.10.1 đến thập lục phân, ta chuyển đổi từng octet, sau đó kết hợp các kết quả, như sau:
1 Chia 192 bằng 16 Kết quả là 12, với một phần còn lại là 0 Bởi vì số thập phân
12 là giống như Hex C và thập phân 0 là tương tự như Hex 0, số thập phân là 192 bằng Hex C0
2 Chia 168 bằng 16 Kết quả là 10, với một phần còn lại của 8 Bởi vì số thập phân
10 là giống như Hex A và decimal 8 là giống như 8 Hex, số thập phân là 168 bằng Hex A8
3 Decimal 10 là giống như Hex A
4 Decimal 1 là giống như Hex 1
5 Kết hợp các kết quả của mỗi chuyển đổi cho thấy, số thập phân 192.168.10.1 biểu diễn bằng Hex là :
C0A80A01
Một cách khác để lấy kết quả này là đầu tiên chuyển đổi từ thập phân sang nhị phân, sau đó chuyển đổi nhị phân với hệ thập lục phân bốn bit tại một thời điểm, và cuối cùng, kết hợp các kết quả, như được hiển thị ở đây:
1 192 biểu diễn ở dạng nhị phân 11000000
2 168 biểu diễn ở dạng nhị phân 10101000
Trang 93 Decimal 10 biểu diễn ở dạng nhị phân 00001010.
4 Decimal 1 biểu diễn ở dạng phân 00000001
5 Nhị phân 1100 (bốn đầu tiên bit của octet đầu tiên) là giống như Hex C
6 Nhị phân 0000 là giống như Hex 0
7 Nhị phân 1010 là giống như Hex A
8 Nhị phân 1000 là giống như Hex 8
9 Nhị phân 0000 là giống như Hex 0
10 Nhị phân 1010 là giống như Hex A
11 Nhị phân 0000 là giống như Hex 0
12 Nhị phân 0001 là giống như Hex 1
13 Kết hợp tương đương Hex cho thấy số thập phân 192.168.10.1 biểu diễn bằng Hex C0A80A01
có một octet đầu tiên ở định dạng nhị phân là: 0xxxxxxx
•Class B dùng 16 bit đầu tiên để xác định network, vàcòn lại 16 bit để xác định host Điều này có nghĩa là có thể nhiều hơn65.000 máy trong mỗi mạng Class B (216-2) Tất cả các địa chỉ Class B sẽ có một octet đầu tiên ở định dạng nhị phân là : 10xxxxxx
• Class C sử dụng 24 bit đầu tiên để xác định network, và còn lại 8 bit để xác định host lưu trữ Điều này có nghĩa là chỉ có 254 host trong mỗi mạng lớp C (28-2) Tất cả các địa chỉ Class C sẽ có một octet đầu tiên ở định dạng nhị phân là: 110xxxxx
•Class D không được sử dụng cho host, nhưng thường được sử dụng chomulticasting ,nơi có nhiều hơn một người nhận Giá trị nhị phân, octet đầu tiên của một địa chỉ IP lớp D là 1110xxxx
Trang 10•Lớp E địa chỉ IP được sử dụng cho các chức năng thử nghiệm và sử dụng trong tương lai Mọi địa chỉ IP của lớp E có giá trị nhị phân của octet đầu tiên là 11110xxx.
Địa chỉ IP private và chức năng đặc biệt của nó.
Có một vài dãy IP không được sử dụng trên Internet Những địa chỉ được gọi là địa chỉ
IP dành riêng Được định nghĩa trong RFC 1918, bất kỳ host nào trên mạng có thể sử dụng các địa chỉ này, nhưng các địa chỉ này khôngcó nghĩa là được sử dụng trên Internet, và hầu hết các router sẽ không chuyển tiếp chúng Bởi đó là các địa chỉ IP private, không có liên quan với các cuộc xung đột địa chỉ Xác định địa chỉ dành riêng cho các địa chỉ ba lớp chính (A, B, và C) là:
là 169.254.0.0 đến 169.254.255.255 Dãy địa chỉ này được sử dụng bởi Microsoft
1.6 Subnet Mask
Trang 11Với một địa chỉ IP, mỗi host sẽ sử dụng giao thức TCP / IP có subnet mask Cácsubnet mask được sử dụng trong quá trình được gọi là ANDing để xác định mạng
mà host thuộc về
Theo mặc định, một địa chỉ IP Class A có 8 bit để xác định các network,địa chỉ IP Class B có 16 bit để xác định network, và một địa chỉ IP Class C có 24 bit để xác định Network Những Subnet mask mặc định sử dụng các bit liên tiếp để tạo Full Mask Bảng dưới đây cho thấy ba lớp subnet mask mặc định, lần đầu tiên trong hệ nhị phân, sau đó trong truyền thông Subnet đó có thể sẽ được chia thành các Subnet nhỏ hơn (XXX)
Các Subnet mask có thể được thể hiện trong các định dạng khác nhau Ví dụ, thông thường định dạng là một dãy các địa chỉ IP tiếp theo là Subnet đầy đủ, chẳng hạn như: 192.168.10.1 255.255.255.0 Ngoài ra,để đơn gian hơn thì chúng ta đếm và ghi lại số bit 1 được sử dụng trong subnet mask
Ví dụ, trong subnet mask mặc định cho loại C, có 24 bit được chỉ định là 1 Vì vậy, để
sử dụng định dạng thứ hai, dãy địa chỉ IP theo sau là một dấu gạch chéo và
số bit subnet, như sau: 192.168.10.1/24
Ví dụ subnetting
Trong trường hợp chúng ta cần phải tách ra một Network vào một dãy, chẳng hạn như
có các tòa nhà khác nhau hoặc sàn nhà, chúng ta cần phải chia nhỏ mạng Các
ví dụ sau đây sẽ hướng dẫn quá trình tách một Network và tạo Subnet Mask cần thiết để hỗ trợ các mạng con một cách hiệu quả
Giả sử chúng ta có mạng 10.0.0.0 với subnet mask là 255.0.0.0, và cần phải chia nhỏ mạng này ra thành 12 mạng con.Và đây là những gì mà chúng ta nên làm:
1.Xác định bao nhiêu bit, trong hệ nhị phân, để tạo nên số lượngmạng con Ở đây
chúng ta cần 12 mạng con nên chúng ta cần mượn 4 bits làm network
Trang 122.Hãy 4 bit của host làm Network,vì thế subnet mask của chúng ta sẽ thay đổi từ
255.0.0.0 tới 255.240.0.0
•Subnetmask cho chúng ta biết sự phân chia giữa các bits mạng và host Chúng ta bắt đầu với một ID mạng sau :10.0.0.0 và subnet mask là 255.0.0.0, và được biểu diễn ở dạng nhị phân là :
00001010.00000000.00000000.00000000 (địa chỉ IP cho mạng)11111111.00000000.00000000.00000000 (subnet mask)
•Chúng ta có một mạng lớn với một Network ID 10.0.0.0, một dải địa chỉ sử dụng được từ: 10.0.0.1 đến 0.255.255.254, và một địa chỉ Broadcast 10.255.255.255
•Các Network, mới chia như sau:
00001010.0000 0000.00000000.00000000 (địa chỉ IP cho mạng) 11111111.1111 0000.00000000.00000000 (subnet mask)
•Tất cả các Network được biểu diễn dưới dạng nhị phân như sau: 00001010.xxxx yyyy.yyyyyyyy.yyyyyyyy, trong đó x tượng trưng cho các bit được sử dụng để tạo ra subnetworks và y của bạn đại diện cho các địa chỉ host
3.Xác định địa chỉ mạng con bằng cách thay đổi giá trị của các bit x Cáchoán vị có thể đầu tiên là mạng 00001010.0000; thứ hai là00001010.0001 mạng, thư ba là 00001010.0010 và vv Bảng sau liệt kê tất cả các địa chỉ mạng con có thể
Trang 13Đối với mạng đầu tiên, các ID mạng là 10.0.0.0 với subnet mask là 255,240 0.0 Địa chỉ có thể sử dụng đầu tiên là 10.0.0.1 và địa chỉ có thể sử dụng cuối cùng là 10.15.255.254 Địa chỉ quảng bá là 10.15.255.255 (tiếp theo có thể có địa chỉ IP sẽ được 10.16.0.0, là ID mạng của các mạng thứ hai) Các mạng thứ hai làm việc có một ID của 10.16.0.0, một dãy IP có thể sử dụng là 10.16.0.1 đến 10.16.255.254,
và một địa chỉ quảng bá là 10.16.255.255
Chú ý rằng chúng ta cần chỉ có 12 mạng, nhưng chúng ta có 16 Điều đó có thể xảy
ra, tùy thuộc vào số lượng của các mạng cần thiết Ví dụ, nếu chúng ta cần 20 mạng, chúng ta sẽ phải mượn 5 bit của host để làm phân mạng (20 trong hệ nhị phân là
10100, do đó 5 bit phải được sử dụng) Trong trường hợp đó, chúng ta sẽ có một subnet mask 255.248.0, sẽ có 32 subnetworks mà trong khi đó chứng ta chỉ cẩn 20 Subnet Nhưng chúng ta sẽ xem nó như là sự mở rộng và phát triển của công ty
Phân tầng và chuyển đổi Địa chỉ
1.Mô tả cách thức phân lớp như thế nào là có lợi cho các chức năng của mạng?
Trang 14Bằng cách sử dụng một mô hình phân lớp, truyền thông mạng có thể được chia thành nhiều khối nhỏ hơn.Các gói này có một mục đích cụ thể, hoặc chức năng, và trong trường hợp lỗi xảy ra trong một đoạn, có thể là chỉ có lỗi được giải quyết, thay vì bắt đầu lại từ đầu
2 Nếu chúng ta có một địa chỉ IP 192.168.10.1 và subnet mask là FF-FF- 00-00, IP này sẽ thuộc về mạng nào?
Trong thập phân, các địa chỉ mạng là 192.168.0.0, trong Hex, địa chỉ mạng
sẽ xảy ra nếu nó truyền thông với host khác không cùng mạng với nó? Và đây là trường hợp
mà chúng ta cần đến định tuyến Chúng ta cần phải biết thông tin các tuyến đường từ mạng của người gửi đến mạng của người nhận Tất nhiên, các thiết bị có thể làm được điều đó là Router Trong hệ thống mạng các Router đầu tiên mà chúng ta phải đến là trên mạng của chúng ta và nó chính là default gateway Đây là thiết bị mà máy tính sẽ gửi tất cả các traffic truy cập đến, một khi nó xác định rằng máy đích không cùng mạng với nó Sau đó gói tin này sẽ được chuyển đến default gateway với các thông tin trên mạng đích và các thông tin điều khiển kèm theo,khi Router nhận được gói tin này nó sẽ tra vào bảng định tuyến của nó,nếu có router chuyển tiếp gói tin thông qua một cổng interface tương ứng để đi ra Tuy nhiên trong bản định tuyến có thể có hoặc không có chứa đường route đến mạng đích,và nếu Router tìm không thấy đường route đến mạng đích chúng sẽ drop gói tin đó,nhưng nếu chúng ta có cấu hình đường default route thì chúng sẽ chuyển gói tin đó đến đường default route
1.8 VLSM và CIDR
Trang 15Các phương pháp tiêu chuẩn về Subnet mask mà chúng ta thảo luận trước đó rất có hiệu quả, tuy nhiên,có những trường hợp mà chúng ta muốn phân chia một mạng con thành các mạng con nhỏ hơn Trong những trường hợp này, chúng ta có thể sử dụng một trong hai lựa chọn sau: Variable Length Subnet Masking (VLSM) hoặc Classless Interdomain Routing (CIDR).Hãy suy nghĩ trở lại ví dụ trước của Subnetmask Đặc biệt, chúng ta hãychú ý vào mạng thứ tư 10.48.0.0 255.255.240.0 Và là mạng là dự định được sử dụng bởi nhân viên CNTT; vậy làm thế nào để chia nhỏ mạng này ra thành các mạng con để đảm đơn giản hoá trong qua trình quản lý Cụ thể,chúng ta cần 5 Subnet nhỏ được tạo ra từ mạng 10.48.0.0 với subnet mask 255.240.0.0.Lần này, chúng ta hãy đại diện cho các địa chỉ IP và subnet mask bằng cách sử dụng dấu gạch chéoPhương pháp: 10.48.0.0/12 Đểbắt đầu, bạn cần phải đặt câu hỏi :Cần mượn bao nhiêu bit để chia thành 5 mạng con nhỏ này.? Trong hệ nhị phân, 5 là
101, vì vậy bạn sẽ cần ba bit Sau đó, thêm ba bitsubnet mask hiện tại Vì vậy, bây giờ chúng
ta sẽ có 10.48.0.0/15 làm địa chỉ mạng đầu tiên và mới subnet mask.Biểu diễn dưới dạng nhị phân là 00001010.0011xxx y.yyyyyyyy.yyyyyyyy, , x đại diện cho các bit làm Network, và y
Vậy, các địa chỉ mạng mới là gì?
Đối với mạng đầu tiên, các ID mạng 10.48.0.0, các địa chỉ có thể sử dụng là 10.48 0.1 đến 10.49.255.254, và địa chỉ quảng bá là 10.49.255.255; mạng thứ hai có Network ID 10.50.0.0, các địa chỉ có thể sử dụng được 10.50.0.1 đến 10.51.255.254,
và địa chỉ quảng bá là 10.51.255.255, và vv Chúng ta thấy rằng có đến 8 Network có thể sử
Trang 16dụng trong khi đó chúng ta chỉ cần có 5 mạng thôi và chúng ta có thể coi đó là phương hướng để mở rộng và phát triển công ty.
1.9 X-Casting
Khi một Packet được gửi từ một host đến một host khác, quá trình định tuyến sẽ được thực đúng theo các tiêu chuẩn trên Tuy nhiên, quá trình này là khác nhau nếu một host cố gắng gửi gói tin đến nhiều hơn một destination, hoặc nếu một thông điệp được nhận từ những host khác nhau trong mạng Các loại hình truyền thông được gọi là broadcasting,multicasting và unicasting
•Unicast là một thuật ngữ mà đã được tạo ra sau khi multicasting và broadcasting đã được định nghĩa unicast là một giao tiếp trực tiếp giữa một máy phát và một máy thu Đây là cách hầu hết mà các truyền thông giữa hai máy thực hiện
•Broadcast là quá trình truyền thông được gửi ra từ một host và đến tất cả người nhận
có thể có trên một phân đoạn Broadcast có thể được thực hiện vì nhiều lý do, chẳng hạn như :đối vơi host phát , địa chỉ Mac được sử dụng là FF: FF: FF: FF: FF: FF Đối với địa chỉ IP, địa chỉ được sử dụng là dựa trên cài đặt mạng Ví dụ, nếu ta có mạng 92.168.10.0/24, thì địa chỉ Broadcast là: 192.168.10.255
•Multicast là một giao tiếp được gửi tới một nhóm người nhận trên mạng Multicasting thường được thực hiện như là chuyên một traffic từ người gửi đến nhiều người nhận So sánh với Broadcast,thì khi sử dụng broadcast thì tất cả các host trên phân mạng đó điều nhận được traffic nhưng đối với multicast thì chỉ những host nào là thành viên của nhóm mới nhận dược traffic này Các thành viên trong nhóm thường được kiểm soát bởi một người dùng hoặc ứng dụng Hiện nay,địa chỉ lớp D được sử dụng cho mục đích multicasting Hãy nhớ rằng, Class D có địa chỉ IP trong khoảng 224.0.0.0 đến 239.255.255.255
1.10 Thiết bị định tuyến và chia mạng con
Trang 171 Bạn đang sử dụng một host có địa chỉ IP là 192.168.10.23 và một subnet
mask là 255.255.255.0 Bạn muốn kết nối tới một host với IP địa chỉ 192.168.11.23 Liệu bạn có cần phải đi qua router? Giải thích câu trả lời của bạn
Có, bạn sẽ cần phải đi qua một router Subnet mask của bạn định nghĩa cho thấy bạn đang thuộc mạng 192.168.10.0, và host mà bạn muốn kết nối tới không nằm trong mạng của bạn
2 Khởi động máy tính của bạn với Windows Server 2003, và đăng nhập vào với
quyền Administrator, mật khẩu (null) để trống
3 Chọn Start Settings Network Connections Kích chuột phải vào card
mạng và chọn Properties.
4 Chọn Internet Protocol (TCP / IP) và click vào Properties.
5 Nhấp vào nút Advanced, và xác định rằng tab IP Settings được
hiển thị Trong phần Default Gateways, ghi lại địa chỉ IP ở đây:Đối với phía bên trái của lớp học, Defalut Gateway là 172.16.0.1 Đối vớiphía bên phải, nó là 172.18.0.1
6 Chọn địa chỉ IP Default Gateway bạn mới vừa ghi lại, và nhấp vào
Remove Nhấn OK hai lần và nhấn Close hai lần.
7 Mở cửa sổ lệnh và ping một địa chỉ đó không nằm trong mạng nội bộ của bạn
Ví dụ, nếu bạn đang ở phía bên trái của lớp học, bạn
có thể ping một địa chỉ trong mạng 172.18.10.0, và nếu bạn đang ở phíabên phải của lớp học, bạn có thể ping một địa chỉ trong mạng 172.16.10.0
8 Quan sát các thông tin bạn nhận được Dòng chữ "Destination Host
unreachable" được hiển thị Máy tính của bạn biết rằng gói tin ping có nhiệm vụ phải gửi đến một máy tính mà ở bên ngoài mạng nội bộ của bạn, nhưng nó không biết làm thế nào để đến được đó
9 Chuyển sang Network Connections trong Control Panel và hiển thị properties
của card mạng
Trang 1810 Chọn Internet Protocol (TCP / IP), chọn Properties, và sau đó nhấp vào
Advanced Trên tab IP Settings, nhấn vào nút Add được tìm thấy trongkhu vực Default Gateway
11 Trong khung địa chỉ TCP / IP Gateway, nhập địa chỉ IP mà bạn ghi lại
trước đó và nhấn Add Nhấn OK hai lần và nhấn Close hai lần
12 Chuyển trở lại cửa sổ lệnh và cố gắng ping đến địa chỉ cần remote một lần
nữa
13 Quan sát các thông tin bạn nhận được Thời gian này, khi defalut gateway
của máy tính khác được cấu hình chính xác, bạn sẽ thành công trongping các máy tính từ xa Điều này là do máy tính của bạn bây giờ biết là phảigửi lưu lượng dữ liệu đến router nếu lưu lượng dữ liệu đi đến mạng khác (Làm thế nào các router biết được nơi để gửi lưu lượng dữ liệu sẽ được diễn tả sau này trong khóa học.) Liên hệ với hướng dẫn của bạn nếu sự cố gắng ping của bạn không thành công
14 Đóng tất cả cửa sổ đang mở.
Trang 19Chương II Phân tích phiên làm việc của TCP
2.1 Phân tích quy trình bắt tay ba bước
Mặc dù có rất nhiều quan tâm đối với IP do vấn đề giải quyết và che giấu, TCP cần được quan tâm đồng nhất từ chuyên viên bảo mật Thêm vào đó TCP, giao thức khác có chức năng như là một giao thức vận chuyển là UDP.Chủ đề này sẽ tập trung vào TCP, tuy nhiên, một cuộc thảo luận ngắn gọn về UDP được đảm bảo Bảng sau đây so sánh ngắn gọn của hai giao thức
So sánh TCP và UDP
TCP UDP
Connection-oriented Connectionless
Slower communications Faster communications
Considered reliable Considered unreliable
TCP cung cấp một phương tiện gửi gói tin có hướng kết nối, trong khi UDP cung cấp phương tiện gửi gói tin không có kết nối Chức năng có hướng kết nối của TCP có nghĩa là nó có thể đảm bảo sự truyền thông tin đáng tin cậy, và có thể phục hồi nếu lỗi truyền xảy ra Chức năng không có kết nối của UDP có nghĩa là gói tin được gửi đi với sự hiểu biết nó sẽ gửi vào host khác, không bảo đảm độ tin cậy của việc truyền dữ liệu
UDP được xem là nhanh hơn bởi vì công việc thật đơn giản chỉ cần làm cho hai host giao tiếp với nhau là xong Host 1 chỉ đơn giản là gửi một gói tin đến địa chỉ của host 2 Không cần gắn thêm thông tin gì vào UDP để cung cấp cho host 1 kiểm tra xem host 2 có nhận được các gói tin hay không, hoặc cho host 2 gửi lại một gói tin cho host 1, báo là đã nhận được
TCP cung cấp các chức năng của truyền thông tin có hướng kết nối bằng cách sử dụng các tính năng chẳng hạn như bắt tay ba bước, gửi thông báo đã nhận được, và
Trang 20dãy số Ngoài các tính năng này, một phần quan trọng của TCP là việc sử dụng kiểm soát cờ Có sáu cờ hiệu kiểm soát TCP trong một phần đầu TCP, mỗi cái với một ý nghĩa cụ thể.
2.2 TCP Flags
Các cờ TCP là: SYN, ACK, FIN, RESET, PUSH và URGENT Những lá cờcũng có thể được ký hiệu là S, ACK, F, R, P, và urg Mỗi lá cờ chiếmkhông gian của một bit trong tiêu đề, và nếu chúng được giao một giá trị là 1, xem xét trên Chức năng của mỗi lá cờ được xác định như sau:
•SYN, hoặc S, lá cờ đại diện cho phần đầu tiên của thiết lập kết nối.Việc đồng bộ hóa thông thường sẽ có trong gói đầu tiên của việc truyền tin
•ACK, hoặc ACK, lá cờ đại diện cho sự gửi lại thông tin báo đã được nhận dữ liệu từ host gửi Điều này được gửi trong suốt phần thứ hai của thiết lập kết nối, đáp ứng yêu cầu SYN của host gửi
•FIN, hoặc F, lá cờ đại diện cho ý định của người gửi muốn chấm dứt các thông tin liên lạc trong phiên làm việc
•RESET, hoặc R, lá cờ đại diện cho ý định của người gửi để xác lập lạikết nối
•PUSH, hoặc P, cờ được sử dụng khi host gửi yêu cầu dữ liệu phải đượcđưa trực tiếp cho các ứng dụng nhận được, và không phải để vào bộ đệm
•URGENT, hoặc urg, lá cờ đại diện cho rằng dữ liệu này cần được ưu tiên hơn các dữ liệu khác khi được truyền đi
Số thứ tự và số xác nhận
Ngoài các cờ TCP, một vấn đề quan trọng của TCP đó là về các con số:
số thứ tự và số xác nhận, được cụ thể Bởi vì TCP đã được định nghĩa như là một giao thức đáng tin cậy có khả năng cung cấp cho giao tiếp có hướng kết nối, phải có một cơ chế để cung cấp các tính năng này
Số thứ tự và số báo nhận là những gì cần cung cấp cho điều này
Trang 21Số thứ tự
Số thứ tự được tìm thấy trong phần đầu TCP của mỗi gói tin TCP và là mộtgiá trị 32-bit Những con số này cho phép hai host có một nền tảng chung để giao tiếp, và cho phép các host xác định các gói dữ liệu gửi và nhận Nếu một trang web lớn yêu cầu một số gói tin TCP để truyền tải, số thứ tự được sử dụng bởi các host nhận để tập hợp lại các gói dữ liệu theo thứ tự thích hợp và cung cấp các trang web đầy đủ để xem
Khi một host gửi các yêu cầu để bắt đầu một kết nối mới, một trình tự ban đầu (ISN) phải được chọn Có những thuật toán khác nhau của các nhà cung cấp khác nhau cho các lựa chọn của một ISN, tuy nhiên, cơ chế RFC 793 nói rằng ISN là một
số 32-bit tăng 1 lần cứ mỗi 4 micro giây
Số xác nhận
Số xác nhận cũng được tìm thấy trong phần đầu TCP của mỗi gói TCP, và cũng
là một giá trị 32-bit Những con số này cho phép hai host được cung cấp một biên nhận giao hàng dữ liệu Một số xác nhận là trong tiêu đề gói tin đáp ứng với một số trình tự trong các gói tin gửi đi Trong trường hợp host gửi không nhận được một xác nhận cho một gói tin gửi đi trong khoảng thời gian quy định, người gửi sẽ gửi lại các gói tin Đây là cách giao thức TCP cung cấp đáng tin cậy Nếu một gói tin có vẻ như
đã bị mất, người gửi sẽ gửi lại nó
2.3 Kết nối
Mọi thông tin liên lạc trong giao thức TCP / IP được thực hiện với các kết nối giữa hai host Mỗi kết nối được mở (hoặc thành lập), dữ liệu được gửi đi, và kết nối được đóng lại (hoặc phá bỏ) Những kết nối này có những quy định rất cụ thể mà phải tuân theo
Có hai trạng thái khác nhau của các phần mở của quá trình này: Mở bị động
và Mở chủ động
•Mở bị động là khi một ứng dụng đang chạy cho TCP rằng nó đã sẵn sàngnhận được yêu cầu đi vào trong thông qua TCP Các ứng dụng được giả định yêu cầu
Trang 22đi vào trong đang đến, và được chuẩn bị để phục vụ các yêu cầu đó Đây cũng là được gọi là cơ chế lắng nghe, như các ứng dụng đang lắng nghe để yêu cầu các giao tiếp.
•Mở chủ động là khi một ứng dụng đang chạy cho TCP để bắt đầu một phiên làm việc liên lạc thông tin với một host từ xa (mà ở trạng thái Mở bị động) Đó là có thể cho hai host trong trạng thái Mở chủ động để bắt đầu giao tiếp Nó không phải là một yêu cầu rằng host từ xa phải ở trạng thái Mở bị động, nhưng đó là trường hợp thông dụng nhất
2.4 Sự thiết lập kết nối
Để cho các số thứ tự và xác nhận có bất cứ chức năng nào, một phiên làm việc giữa hai host phải được thiết lập Thiết lập kết nối này được gọi là qui trình bắt tay ba bước Qui trình bắt tay ba bước bao gồm ba bước riêng biệt, chi tiết như sau (vui lòng tham khảo Hình 2-5 khi đọc phần này):
1 Host A gửi một phân đoạn đến Host C với những điều sau đây:
SYN = 1 (phiên đang được đồng bộ.)
ACK = 0 (không có giá trị trong trường ACK, vì vậy cờ này là 0.)
Số thứ tự = x, mà x là một biến (x là ISN của host A.)
Số xác nhận = 0
2 Host C nhận được phân đoạn của Host A và trả lời lại tới Host A với những
điều sau đây:
SYN = 1 (phiên này vẫn đang được đồng bộ.)
ACK = 1 (Cờ xác nhận hiện đang thiết lập, như là có một giá trị ACK trong phân đoạn này
Số thứ tự = y, trong đó y là một biến (y là ISN của host C.)
Số xác nhận = x + 1 (số thứ tự từ Host A, cộng thêm 1.)
3 Host A nhận được phân đoạn của Host C và trả lời tới Host C với những điều
sau đây:
Trang 23SYN = 0 (phiên được đồng bộ với đoạn này, yêu cầu tiếp tục làkhông cần thiết.)
ACK = 1 (Các cờ ACK được thiết lập để trả lời với SYN từ phân đoạn trước.)
Số thứ tự = x + 1 (Đây là số thứ tự tiếp theo trong series.)
ba phân đoạn để thiết lập một TCP session giữa hai máy trạm Mặt khác, chấm dứt có thông báo, yêu cầu bốn đoạn Bốn phân đoạn được yêu cầu bởi vì TCP là một giao tiếp giao thức song công (có nghĩa là dữ liệu có thể được dịch chuyển theo cả hai hướng độc lập) Theo như thông số kỹ thuật của TCP, có thể kết thúc phiên bằng cách gửi một FIN, trong đó có một số trình tự giống như thứ tự SYN Các máy chủ bắt đầu trình tự chấm dứt, bằng cách gửi các FIN đầu tiên, là hoạt động bắt đầu quá trình Close Host tiếp nhận FIN đầu tiên là host thực hiện việc đóng thụ động Các ngắt kết nối có thông báo được của phiên họp như sau (xem Hình 2-6 khi đọc phần này):
Trang 241 host chủ A khởi đầu việc chấm dứt session đến host B với những điều sau
đây:
FIN = 1 (phiên này đang được chấm dứt.)
ACK = 1 (Có một số ACK, dựa trên các thông tin liên lạc hiện tại.)
Sequence Number (FIN number) = s (s là một biến dựa trên sesion hiện tại.)Acknowledment number = p (p là một biến dựa trên session hiện tại.)
2 Host B nhận được và trả lời với điều sau đây:
FIN = 0 (đoạn này không yêu cầu đóng session.)
ACK = 1 (đoạn này có chứa một số ACK.)
Số thứ tự = không có (Vì không có FIN, không có dãy số cần thiết.)
Acknowledment number = s + 1 (Đây là trả lời cho FIN của host A.)
3 Host B khởi xướng việc chấm dứt phiên họp theo hướng đối diện với sau đây:FIN = 1 (phiên này đang được chấm dứt.)
ACK = 1 (Có một số ACK.)
Sequence Number = p (p là một biến dựa trên các hiện tại truyền thông.)
Acknowledment number = s + 1 (Điều này tương tự như trong phần trước)
4 Host A nhận được các phân đoạn từ Host B và trả lời như sau:
FIN = 0 (đoạn này không yêu cầu chấm dứt, không có SYN.)
ACK = 1 (đoạn này có chứa một số ACK.)
Trang 25Số thứ tự = Không có
Acknowledment number = p +1 (Đây là số thứ tự của chủ nhà C, cộng thêm 1.)Vào lúc này, session đã chấm dứt Truyền thông trong cả hai hướng đã có một FIN yêu cầu và nhận một đến FIN, chốt phiên
HÌNH 2.6 CONNECTION TERMINATION
TASK II-1 : Sử Dụng Công Cụ Quản Lý Mạng
Kiểm tra các card mạng , địa chỉ ip , MAC
Mô hình mạng gồm 2 máy : máy thứ 1 Win Xp và máy thứ 2 Win server 2003 nối ngang hàng với nhau ( WORKGROUP )
Wireshark ( hoặc Network monitor có sẵn trong Administrative Tools )
Network Monitor trong Windows 2003
Mặc định công cụ này không có sẵn khi cài đặt windows 2003 , muốn sử dụng công cụ này cần phải thêm vào bằng cách :
Trang 26Vào Control Panel Add or Remove Programs Add/Remove Windows
Components
Ở bảng tiếp theo chọn “ Management And Monitoring Tools option “ , click vào
“detail” và check vào ô “ Network Monitor Tools” và nhấn OK Tiếp theo chọn Next để
bắt đầu cài đặt
Quá trình cài đặt yêu cầu cần có CD hệ điều hành đang sử dụng để cài đặt công cụ thành công
Giao diện của chương trình :
Sử dụng Network Monitor để bắt gói tin
Để bắt đầu quá trình bắt gói tin , chọn Capture Start hoặc nhấn F10
Thử gửi 1 gói tin tới máy khác bằng cách sử dụng lệnh ping Máy sử dụng để gửi gói tin có địa chỉ là 172.16.3.1 , máy nhận gói tin là 172.16.3.2
Trang 27Chọn Capture Stop để kết thúc quá trình bắt gói tin và xem nội dung gói tin Kết quả tổng quan thu được
Trang 28Để xem kết quả , nhấn F12
Kết quả hiện gồm 3 ô :
Ô đầu là kết quả tổng quát các gói tin
Ô giữa : chi tiết gói tin đang chọn
Ô cuối cùng là giá trị Hex của dữ liệu
Lọc gói tin ( lọc theo giao thức )
Tại bảng kết quả các gói tin bắt được , chọn Display Filter
Trang 29Chọn “Protocol==Any” và click vào “Edit Expression”
Nếu muốn lọc gói tin theo giao thức (protocol) ta chọn tab “Protocol”, tương tự lọc theo địa chỉ thì ta chọn tab “Address” Ở đây ta chọn tab “Protocol”
Click vào “Disable All” để xóa các giao thức được lọc
Bên ô “Disabled Protocols”, chọn giao thức “ICMP” và chọn “Enable” chọn OK Khi đó , bảng chi tiết gói tin sẽ chỉ hiện các gói tin với giao thức “ICMP”
Chọn File Save as để lưu kết quả của quá trình bắt gói tin
Trang 30Task II – 2&3 : Tìm hiểu Wireshark
Tổng quan về wireshark
Wireshark là một bộ phân tích giao thức mạng, có thể capture, thanh tra và hiển thị
lưu lượng cho nhiều giao thức mạng
Chương trình có thể chạy trên bất cứ nền tảng nào: Windows, Linux, Mac OS X và các nền tảng khác Nó có một giao diện GUI dễ sử dụng
Gerald Combs là người đầu tiên phát triển phần mềm này Phiên bản đầu tiên được
gọi là Ethereal được phát hành năm 1998
Cài đặt và bắt đầu với Wireshark
Quá trình cài đặt khá đơn giản , bộ wireshark yêu cầu phải có WinPcap (một thư viện
mã nguồn mở cho việc bắt gói và phân tích mạng, trên nền tảng win32 )
Giao diện của wireshark
Gồm có 3 ô chính :
Ô đầu ( top pane ) : danh sách các gói tin bắt được
Ô giữa (middle pane ) : hiện chi tiết một gói tin khi được chọn ở ô đầu tiên
Ô cuối cùng ( bottom pane ) : hiển thị các gói tin ở dạng Hex và ASCII
Trang 31Wireshark có giao diện đồ họa với phần menu khá chi tiết như là : File , Edit , View ,
Go ,Capture , Analyze , Statistics và Help
Để chọn card mạng bắt gói tin chọn Capture Interfaces hoặc nhấn Ctrl + I , chọn
start card tương ứng để bắt gói tin
Wireshark hỗ trợ rất nhiều tập tin của các chương trình khác nhau( khoảng hơn 800)
Các giao thức khác nhau được phân biệt bằng các màu khác nhau , khá rõ ràng và dễ theo dõi
Trang 32Khả năng lọc gói tin của Wireshark khá đơn giản , dễ sử dụng hơn công cụ Network Monitor của Windows Server 2003 Ngay tại giao diện chính , chúng ta có thể lọc gói tin và
dễ dàng theo dõi kết quả với “Filter Toolbar”
Các phép toán dùng cho việc lọc gói tin
>= frame.len >= 10
Phép Bé Hơn Hoặc Bằng
<= frame.len <=10
Ví dụ 1 phép toán “ ip.scr == 192.168.1.44 ” Kết quả chi hiện ra các gói tin có địa
chỉ nguồn là “ 192.168.1.44”
Trang 33Task II – 4 : Phân tích quá trình bắt tay 3 bước
“Bắt tay 3 bước” (quá trình thiết lập kết nối TCP ) được sử dụng bởi 2 máy (host) để
tạo một phiên làm việc cho việc kết nối TCP Máy tính 1 gửi 1 gói tin , trong gói tin đó chỉ
chưa tham số sequence number (SEQ) Gói tin thứ 2 được gửi trả lại bởi máy 2 , trong gói tin gửi đó sẽ chứa tham số SEQ và ACK (acknowledgment number)
Để hoàn tất quá trình kết nối , máy 1 sẽ gửi trả lại máy 2 gói tin ACK Tại thời điểm
này quá trình bắt tay 3 bước đã hoàn thành hay là quá trình kết nối TCP đã được thiết lập (tham khảo hình dưới )
Trang 34Để làm phân tích quá trình bắt tay ba bước , chúng ta ví dụ với chức năng telnet có trong windows
Máy tính Windows XP ( 172.16.3.2 ) sẽ sử dụng chức năng telnet vào máy tính
Windows Server 2003 ( 172.6.3.1) Máy tính Windows Server 2003 sẽ dùng công cụ Wireshark bắt gói tin và phân tích quá trình bắt tay 3 bước
Vào Command Prompt , gõ dòng lệnh telnet 172.16.3.1 (172.16.3.1 là địa chỉ của
máy muốn kết nối vào ) và tiếp theo là gõ ‘y’
Để hoàn tất quá trình kết nối , chương trình yêu cầu nhập username và password login
vào
Kết quả
Trang 35Khi đó , bên máy Windows Server 2003 , chúng ta sử dụng công cụ Wireshark để kiểm tra quá trình bắt tay 3 bước , kết quả thu được với 3 gói tin đầu tiên (1,2,3)
Gói tin 1 : chỉ có cờ (flags) SYN tham số SEQ = 0 Giá trị Hex của cờ này là 2
Trang 36Gói tin 2 : chứa cả cờ SYN , ACK với giá trị SEQ = 0, ACK = 1 Giá trị Hex của cờ
này là 12
Gói tin 3 : chỉ có cờ ACK nhưng chứa tham số ACK = 1 và SEQ = 1 Giá trị Hex của
cờ này là 10
Trang 37Đến đây , quá trình bắt tay 3 bước đã hoàn thành
S
172.1 6.3.1
172.1 6.3.2
1 Chứa cờ SYN với SEQ = 0 (x) , ACK = 0 Nhận Gửi
2 Chứa cờ SYN , ACK với SEQ = 0 (y), ACK
3 Chứa cờ ACK với SEQ = 1 (x+1) ,ACK = 1
Task II– 5 : Phân tích quá trình ngắt kết nối TCP
( Session Teardown Process )
Việc kết thúc một kết nối có thể bắt đầu từ một trong 2 phía (không giống như việc
khởi tạo một kết nối chỉ bắt đầu từ client) Một khi 2 phía quyết định không có dữ liệu để
truyền nữa nó sẽ xác lập cờ FIN trong tiêu đề TCP để bảo đảm phía kia biết nó sẳn sàng kết
thúc nối kết
Trang 38-Nếu trạm nào nhận gói FIN này nó sẽ xác nhận lại gói FIN này bằng gói
ACK,FIN(khi nó sẳn sàng kết thúc một kết nối) Sau đó cả 2 sẽ di chuyển vào trạng thái TIME WAIT đến trạng thái CLOSED và kết nối được đóng lại
-Trong trường hợp khi client nhận gói FIN Nhưng nó vẫn còn dữ liệu để gửi nó sẽ báo nhận ACK, không xác lập cờ FIN Điều này cho phép nó tiếp tục gửi dữ liệu cho xong, sau
đó nó tiếp tục gửi gói FIN để thông báo nó đã sẵn sàng kết thúc một session Trong thời gian này cả 2 trạm phát và nhận chuyển vào trạng thái FIN WAIT 2 và CLOSE WAIT
Tương tự như phần trên , ta sẽ sử dụng chức năng telnet để phân tích quá trình ngắt kết nối với công cụ Wireshark
Quá trình tạo kết nối tương tự như ví dụ trên , để ngắt kết nối telnet ta gõ lệnh “exit” sẽ hiện thông báo “ Connection to host lost ” Quá trình kết nối đã ngắt
Trang 39Khi đó bên máy phân tích gói tin ( Windows Server 2003 ) , sử dụng Wireshark ta thu
được kết quả sau ( Sau khi chọn Stop quá trình bắt gói tin )
Trang 40Để phân tích quá trình ngắt kết nối ta theo dõi 4 gói tin cuối cùng có số thứ tự lần lượt
là 83 , 84 , 85 , 86
Gói tin 83 : chứa cờ FIN , ACK với tham số SEQ = 1005 , ACK = 411
Gói tin 84 : chỉ chứa cờ ACK với tham số SEQ = 411 , ACK = 1006
Gói tin 85 : chứa cờ FIN , ACK với giá trị tham số SEQ = 411, ACK = 1006