Phân tích các gói tin dùng phần mềm Wireshark 442.1 Phân tích DNS theo các lớp của mô hình TCP/IP 44Bước 4: Phân tích gói tin sử dụng giao thức DNS vừa bắt được.. 46Sau khi bắt đư
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á
BÀI TẬP LỚN HỌC PHẦN: MẠNG MÁY TÍNH
TÊN BÀI TẬP LỚN: PHÂN TÍCH GÓI TIN TCP/IP SỬ DỤNG
PHẦN MỀM WIRESHARK
Sinh viên thực hiện Khóa Lớp Mã sinh viên
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
Điểm bằng chữ
Ký tên SV
1 Hoàng Văn Huy K13 DC CNTT
Trang 3MỤC LỤC (Trình bầy trong trang riêng)
2 Nội dung cơ bản về mô hình TCP/IP 29
Trang 4b) Ưu điểm và nhược điểm của TCP/IP 30
d) Cách thức hoạt động của giao thức TCP/IP 32
f) Ứng dụng của giao thức TCP/IP là gì? 35
CHƯƠNG 3: PHÂN TÍCH GÓI TIN VỚI PHẦN MỀM WIRESHARK 39
2 Phân tích các gói tin dùng phần mềm Wireshark 442.1 Phân tích DNS theo các lớp của mô hình TCP/IP 44Bước 4: Phân tích gói tin sử dụng giao thức DNS vừa bắt được 46Sau khi bắt được gói tin sử dụng giao thức DNS bằng Wireshark, thông tin quan trọng sẽ được thu thập và bao gồm các thành phần sau: 47
Để lọc và hiển thị các gói tin trong giao thức DNS có địa chỉ IP nguồn hoặc đích cụ thể có thể sử dụng các bộ lọc sau đây trong Wireshark: 47DNS (Domain Name System) có các chức năng chính sau: 48Các biện pháp để ngăn chặn khai thác qua giao thức DNS 492.2 Phân tích DHCP theo các lớp của mô hình TCP/IP 50DHCP (Dynamic Host Configuration Protocol): 50Bước 4: Phân tích gói tin sử dụng giao thức DHCP vừa bắt được 52
Để lọc và hiển thị các gói tin trong giao thức DHCP có địa chỉ IP nguồn hoặc đích cụ thể, bạn có thể sử dụng các bộ lọc sau đây trong Wireshark: 52
Trang 5Các biện pháp để ngăn chặn khai thác qua giao thức DHCP 532.3 Phân tích ICMP theo các lớp của mô hình TCP/IP 54Các biện pháp để ngăn chặn khai thác qua giao thức ICMP 592.5 Phân tích Ethernet theo các lớp của mô hình TCP/IP 60Bước 4: Phân tích gói tin sử dụng giao thức Ethernet vừa bắt được 62Các biện pháp để ngăn chặn khai thác qua giao thức Ethernet 642.6 Phân tích ARP theo các lớp của mô hình TCP/IP 65Bước 4: Phân tích gói tin sử dụng giao thức ARP vừa bắt được 67Các biện pháp để ngăn chặn khai thác qua giao thức ARP 692.7 Phân tích IP theo các lớp của mô hình TCP/IP 70Bước 4: Phân tích gói tin sử dụng giao thức IP vừa bắt được 72
Trang 6DANH MỤC CÁC TỪ VIẾT TẮT
STT Chữ viết tắt Giải thích
1 pp power points
2 Voip voice over internet protocol
3 TCP/IP Transmission Control Protocol/Internet Protocol
Trang 7DANH MỤC BẢNG BIỂU VÀ SƠ ĐỒ
Hình 1 Bắt các lưu lượng mạng kết nối Ethernet, Wireless, Bluetooth 12
Hình 10 Nhập expression vào Filter textbox 24
Hình 12 Xem đầy đủ cuộc hội thoại trong display Filter 28
Hình 17 Phần tải xuống của phần mềm wireshark 40Hình 18 Gói cài đặt của phần mềm wireshark 42Hình 19 Cài đặt thành công wireshark trên máy tính 42
Trang 8CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI
1 Giới thiệu
Trong thời đại số hóa ngày nay, việc bảo vệ an ninh mạng đã trở thành một nhiệm vụ cấp bách và phức tạp Với sự gia tăng đáng kể của Internet of Things (IoT), mọi thứ từ chiếc tủ lạnh đến hệ thống sản xuất công nghiệp đều được kết nối mạng Mặc dù đây là cơ hội để nâng cao sự tiện lợi, nhưng cũng là một cửa ngỏ
mở cho các cuộc tấn công mạng tiềm ẩn Hệ thống IoT này trở thành các mục tiêu tiềm năng cho các hacker với khả năng tấn công từ xa và chiếm quyền kiểm soát,
đe dọa đến sự riêng tư và an toàn của dữ liệu cá nhân và tổ chức
Ngoài ra, dữ liệu hiện nay đã trở nên quý báu hơn bao giờ hết Các lĩnh vực như tài chính, y tế và chính trị đặt ra yêu cầu cao về việc bảo vệ thông tin nhạy cảm Việc mất mát dữ liệu có thể có hậu quả nghiêm trọng, không chỉ về mặt kinh tế mà còn ảnh hưởng đến uy tín và danh tiếng
Trong bối cảnh này, phần mềm Wireshark trở thành một công cụ quan trọng cho việc đối phó với các thách thức an ninh mạng Wireshark cho phép theo dõi lưu lượng mạng và phát hiện các hoạt động bất thường, từ đó giúp phát hiện sớm các cuộc tấn công mạng như tấn công từ chối dịch vụ (DoS), tấn công từ xa và mã độc Nó không chỉ giúp bảo vệ hệ thống mạng một cách hiệu quả mà còn đóng vai trò quan trọng trong việc xác định và khắc phục các lỗ hổng bảo mật Điều này giúp tổ chức và cá nhân duyệt qua các rủi ro an ninh mạng và duy trì sự an toàn và toàn vẹn của dữ liệu quan trọng
Trang 92 Phân công công việc
Bảng 1: Bảng phân công công việc
1 Hoàng Văn Huy
- Lên ý tưởng cho đề tài, phân tích bài toán
- Giới thiệu về wireshark
- Cài đạt và chạy ứng dụng wireshark
- Hoàn thành công việc đúng tiến độ được giao
- Kết quả công việc đúng với yêu cầu
2 Nguyễn Hữu Huy
- Nội dung cơ bản về TCP/Ip, cấu trúc gói tin ip
- Cài đạt và chạy ứng dụng wireshark
- Hoàn thành công việc đúng tiến độ được giao
- Kết quả công việc đúng với yêu cầu
3 Hắc Tiểu Bình
- Phân tích IP, Ethernet
- Kết luận
- Cài đạt và chạy ứng dụng wireshark
- Hoàn thành công việc đúng tiến độ được giao
- Kết quả công việc đúng với yêu cầu
4 Nguyễn Hoàng Anh
Quốc
- Phân tích ARP, DHCP
- làm pp báo cáo
- Cài đạt và chạy ứng dụng wireshark
- Hoàn thành công việc đúng tiến độ được giao
- Kết quả công việc đúng với yêu cầu
- Hoàn thành công việc đúng tiến độ được giao
- Kết quả công việc đúng với yêu cầu
Trang 10CHƯƠNG 2: TỔNG QUAN VỀ WIRESHARK
1 Giới thiệu về Wireshark.
a) Wireshark là gì?
Wireshark là phần mềm phân tích gói mạng (tiếng Anh gọi là network packet analyzer) Nhiệm vụ của nó là nắm bắt tất cả các network packets rồi hiển thị dữ liệu của gói đó một cách chi tiết nhất
Một network packet analyzer còn được dùng làm thiết bị đo lường, kiểm tra tình hình hoạt động bên trong của cáp mạng Trước đây, công cụ network packet analyzer có chi phí rất cao, nên chúng thường độc quyền Để khắc phục nhược điểm này, Wireshark đã ra đời và mang đến một giải pháp bắt gói tin mạnh mẽ Theo đánh giá của giới công nghệ, Wireshark thuộc top phần mềm phân tích các gói mã nguồn mở tốt nhất tính đến thời điểm hiện tại
b) Mục đích sử dụng Wireshark là gì?
Wireshark được sử dụng để phục vụ các mục đích sau:
- Phát hiện và phân tích cuộc tấn công mạng: Wireshark có thể giúp phát hiện và phân tích các cuộc tấn công mạng như tấn công từ chối dịch vụ (DoS), tấn công từ xa và mã độc Bằng cách theo dõi gói tin và phân tích các hoạt động không bình thường, người dùng có thể xác định các mối đe dọa tiềm năng và đưa ra biện pháp bảo mật phù hợp
- Khắc phục những vấn đề liên quan đến sự cố mạng
- Kiểm tra tính bảo mật: Wireshark có thể giúp kiểm tra và xác minh bảo mật trên mạng Người dùng có thể sử dụng Wireshark để giám sát và phân tích lưu lượng mạng để xác định các lỗ hổng bảo mật, sự kiểm soát truy cập không đúng, và các truy cập trái phép vào hệ thống mạng
Trang 11- Xác minh network applications.
- Gỡ lỗi phát triển các giao thức
- Phân tích và gỡ rối mạng: Wireshark cung cấp khả năng theo dõi và phân tích gói tin mạng trong thời gian thực Điều này cho phép người dùng xem thông tin chi tiết về lưu lượng mạng, các giao thức được sử dụng và các vấn đề liên quan đến mạng Wireshark giúp người dùng xác định và giải quyết các vấn đề kết nối, lỗi giao thức và tắc nghẽn mạng
- Phục vụ việc học giao thức mạng: Wireshark được sử dụng rộng rãi trong mục đích giảng dạy và nghiên cứu về mạng Nhờ khả năng theo dõi và phân tích gói tin mạng chi tiết, Wireshark cho phép sinh viên và nhà nghiên cứu nắm vững các khái niệm và giao thức mạng, cũng như thực hiện các phân tích sâu về lưu lượng mạng
c) Tính năng của Wireshark
- Phân tích chuyên sâu đến hàng trăm giao thức
- Tính năng Display filter (bộ lọc hiển thị) mạnh mẽ
- Giúp người dùng phân tích VoIP(âm thanh được truyền qua giao thức internet) chuyên sâu
Trang 12- Cung cấp tính năng read, write dưới nhiều định dạng như Microsoft Network Monitor, Cisco Secure IDS iplog, tcpdump (libpcap), Pcap NG, Network General Sniffer®), Sniffer® Pro, NetXray®, NetScreen snoop, Catapult DCT2000, Network Instruments Observer, Novell LANalyzer, Shomiti/Finisar Surveyor, RADCOM WAN/LAN Analyzer, Visual Networks Visual UpTime, Tektronix K12xx, WildPackets EtherPeek/TokenPeek/AiroPeek …
- Cung cấp tính năng nén file capture bằng Gzip và giải nén “on the fly”
- Bắt (capture) tất cả dữ liệu của Ethernet, Bluetooth, USB, Frame Relay, FDDI, IEEE 802.11, PPP/HDLC, ATM, Token Ring, …
- Decryption được hỗ trợ nhiều giao thức, gồm SSL/TLS, WEP, IPsec, SNMPv3, ISAKMP, Kerberos, và WPA/WPA2
- Cung cấp tính năng Coloring rules cho phép người dùng tùy ý sáng tạo màu sắc của packet theo cá nhân hóa, để tăng tốc độ phân tích và hiệu quả hơn
d) Cách chụp gói tin bằng Wireshark
- Để sử dụng phần mềm, cần vào trang web chính thức của Wireshark rồi tải nó về máy tính
- Sau đó, tiến hành cài đặt
- Khi đã hoàn tất cài đặt, mở phần mềm Wireshark và nhấn đúp chuột vào tên giao diện mạng bất kỳ trong phần Capture để chụp các gói tin có trên giao diện
Ví dụ: Khi cần ghi lại traffic của mạng không dây thì nhấn đúp chuột vào giao diện không dây Sau đó, màn hình hiển thị các gói theo thời gian thực và Wireshark tiến hành chụp mỗi gói đã gửi đến hệ thống, hoặc từ hệ thống
Trang 13e) Cách thu thập gói tin
Sau khi tải xuống và cài đặt Wireshark, hãy khởi chạy phần mềm và nhấp đúp vào tên giao diện mạng trong Capture để bắt đầu thu thập các gói tin trên giao diện
VD: Muốn truy cập trên mạng không dây, nhấp vào giao diện không dây của máy Để hiện thị các lựa chọn nâng cao hãy nhấp vàp capture > options
Hình 1 Bắt các lưu lượng mạng kết nối Ethernet, Wireless, Bluetooth
Sau khi nhấp vào tên giao diện, các gói tin sẽ bắt đầu xuất hiện trong thời gian thực Wireshark thu thập từng gói ra và vào hệ thống mạng
Nếu đang trong promiscuous mode — chế độ này được bật theo mặc định —sẽ hiển thị tất cả các gói tin trên toàn bộ hệ thống bên cạnh những gói được gửi tới bộ chuyển đổi mạng Để kiểm tra xem promiscuous mode đã
Trang 14được kích hoạt hay chưa, hãy nhấp vào Capture > Options và tick ô “Enable promiscuous mode on all interfaces” hiển thị ở cuối cửa sổ.
- màu tím nhạt là lưu lượng TCP
- màu xanh lam nhạt là lưu lượng UDP
- màu đen là gói tin có lỗi
ví dụ: những gói tin không được phân phối theo đúng thứ tự
Trang 15Hình 3 Mã màu
Để xem cụ thể ý nghĩa của các mã màu, hãy nhấp vào View > Coloring Rules
Có thể tùy chỉnh và sửa đổi các quy tắc màu ở đây nếu muốn
g) Thu thập gói tin mẫu
Nếu muốn khám phá thêm những mạng khác, hãy tham khảo trang chứa các tệp thu thập gói tin mẫu trên Wiki Wireshark để tải xuống và phân tích Nhấp vào File > Open trong Wireshark và tìm tệp đã tải xuống để mở
Cũng có thể lưu ảnh chụp màn hình trong Wireshark và mở chúng sau Nhấp vào File > Save để lưu các gói tin đã thu thập được
Trang 16Hình 4 Mở gói tin
h) Lọc gói tin
Nhập vào hộp filter ở đầu cửa sổ và nhấp vào Apply (hoặc nhấn Enter)
Ví dụ: nhập “dns” sẽ chỉ thấy các gói DNS Khi bắt đầu nhập từ khóa, Wireshark sẽ tự động hoàn chỉnh chuỗi thông tin dựa trên gợi ý tương ứng
Hình 5 Lọc gói tin với giao thức DNS
Trang 17Có thể nhấp vào Analyze > Display Filters để chọn một bộ lọc trong các bộ lọc mặc định của Wireshark Tại đây cũng có thể thêm bộ lọc tùy chỉnh riêng và lưu lại để sử dụng trong tương lai.
i) Cách đọc gói tin trong Wireshark
Click vào một packet để chọn nó, sau đó xem thêm chi tiết về nó
Hình 6 Phân tích gói tin
Ở khung cửa sổ Paket List sẽ cung cấp cho chúng ta các thông tin như:
- No: Số thứ tự của gói tin trong file capture hiện tại
- Time: Thời gian tương đối mà gói tin này được bắt, tính từ lúc bắt đầu quá trình bắt gói tin
- Source: địa chỉ source IP của kết nối
- Destination: địa chỉ destination IP của kết nối
Trang 18- Length: chiều dài của gói tin.
- Protocol: giao thức của gói tin
- Info: các thông tin tổng quan liên quan đến gói tin
Ở khung cửa sổ của Packet Details sẽ cho ta thông tin chi tiết từng Layer của packet như:
- Frame: Interface
- Ethernet: Destination, Source, Mac Address
- Internet: Source IP, Destination IP, TTL, Protocol, Flags, Checksum, Identification, Total Length…
- TCP/UDP/ICMP: Source Port, Destination Port, Sequence Number, ACK Number, Flags, TCP Options …
- Application Layer: HTTP, DNS, SMTP…
j) Phân tích gói tin
Tìm kiếm gói tin (Find Packet)
Để tìm kiếm gói tin, chúng ta có thể sử dụng thanh công cụ “Find Packet” bằng cách bấm phím Ctrl + F, một hộp thoại mới sẽ xuất hiện nằm giữa thanh Filter và Packet List:
Trang 19Hình 7 Tìm kiếm gói tin
Chúng ta có thể tìm kiếm packet dựa vào:
- Display Filter: nhập vào một biểu thức filter (expression-based filter), Wireshark sẽ tìm kiếm các gói tin khớp với biểu thức này
- Hex value: Tìm kiếm dựa trên giá trị Hex
- String: tìm kiếm dựa trên chuỗi dữ liệu
- Regular Expression: Tìm kiếm dựa trên biểu thức Regex
Display filter tcp.src port==80
hoặc
Trang 20String
Quantrilinux.vnhoặc
GET /Regular Expression GET * HTTP
Bảng 1: các option tìm kiếm packet
Wireshark Filter
Filter cho phép bạn lọc ra những packet nào sẽ dùng để phân tích Sử
dụng Wireshark filter bằng cách khai báo một biểu thức để quy định việc thêm vào (inclusion) hoặc loại bỏ (exclusion) các gói tin Nếu có những gói tin bạn không cần phân tích, có thể viết filter để loại bỏ chúng Ngược lại, có những gói tin quan trọng bạn muốn phân tích kỹ, có thể viết filter để lọc riêng chúng ra
Có hai loại filter chính:
- Capture Filters: Chỉ định các packet sẽ được capture và quá trình bắt gói tin chỉ capture những packet thỏa điều kiện này
- Display filters: Áp dụng filter lên các gói tin đã được capture, mục tiêu là để
ẩn đi những packet không cần thiết và chỉ thể hiện những packet thỏa điều kiện chỉ định
Capture Filter và Display Filter sử dụng cấu trúc ngữ pháp khác nhau nên chúng ta
sẽ xem xét chi tiết từng loại
Capture Filter
Được áp dụng trong quá trình bắt gói tin để giới hạn số lượng gói tin sẽ được bắt Lý do chính để sử dụng filter này nhằm cải thiện performance và giới hạn số lượng dữ liệu capture được chỉ chứa các thông tin chúng ta quan tâm, giúp việc phân tích trở nên hiệu quả hơn Điều này cực kỳ hữu ích khi áp
Trang 21dụng bắt gói tin bằng Wireshark trên các hệ thống có lưu lượng mạng cao,
dữ liệu trao đổi lớn
Chúng ta có thể khai báo biểu thức cho Capture Filter ở “Capture > Capture Filters” hoặc khai báo ở phần “…using this filter” khi lựa chọn card mạng:
Hình 8 Khai báo capture Filter
Wireshark Capture Filter sử dụng cú pháp của Berkeley Packet Filter (BPF):
- Mỗi filter gọi là một expression
- Mỗi expression chứa một hoặc nhiều primitives Các primitives được kết hợp với nhau bằng các “Logical Operator” như AND (&&), OR (||) và NOT (!)
- Mỗi primitives chứa một hoặc nhiều qualifiers, theo sau là một ID name hoặc number Các BPF Qualifiers bao gồm:
Type Chỉ định ID name hoặc
number ta sẽ tham chiếu host, net, port
Dir Chỉ định hướng của dữ
liệu (transfer direction)
src, dst
Trang 22Proto Protocol ether, ip, tcp, udp, http,
ftp
Bảng 2: cú pháp của Berkeley Packet Filter
- Cú pháp tổng quan: Bắt các gói tin gửi đến host 192.168.0.10 và sử dụng giao thức TCP, port 80:
Hình 9 Cú pháp tổng quan để bắt gói tin
Một vài Wireshark Expression tham khảo cho phần Capture Filter:
host 172.18.5.4 Wireshark filter by IP: Bắt gói tin
liên quan đến IP 172.18.5.4
src 192.168.0.10 Wireshark filter source IP: Bắt các
gói tin có source IP là 192.168.0.10dst 192.168.0.1 Wireshark filter destination IP: Bắt
các gói tin có destination IP là
Trang 23192.168.0.1net 192.168.0.0/24
Trang 24udp Bắt gói tin UDP
tcp[13] & 32 == 32 TCP packets với cờ URG được bậttcp[13] & 16 == 16 TCP packets với cờ ACK được bậttcp[13] & 8 == 8 TCP packets với cờ PSH được bật
tcp[13] & 4 == 4 TCP packets với cờ RST được bật
tcp[13] & 2 == 2 TCP packets với cờ SYN được bật
tcp[13] & 1 == 1 TCP packets với cờ FIN được bật
icmp[0:2] == 0x0301 ICMP destination unreachable, host
unreachableBảng 3: Wireshark Expression tham khảo cho phần Capture Filter
Display Filter
Display Filter giúp lọc ra những packet thỏa điều kiện trong file capture để thể hiện lên cho người dùng Display filter chỉ lọc và thể hiện packet thỏa điều kiện chứ không xóa bỏ những packet không thỏa điều kiện, dữ liệu trong file capture hoàn toàn không bị ảnh hưởng
Sử dụng Display Filter bằng cách nhập biểu thức (expression) vào Filter textbox phía trên phần Packet List Bạn cũng có thể nhấp vào phần
“Expression” để lựa chọn các pre-defined filters có sẵn ứng với từng giao thức
Trang 25Hình 10 Nhập expression vào Filter textbox
Một vài Wireshark Expression tham khảo cho phần Display Filter:
tcp.port eq 25 or icmp Lọc gói tin TCP liên quan port 25
hoặc sử dụng giao thức ICMPip.src==192.168.0.0/16 and
Trang 26udp contains 81:60:03
UDP packet chứa 3 bytes 81:60:03 ở
vị trí bất kỳ trong header hoặc payload
http.request.uri matches “gl=se$” HTTP request có URL tận cùng bằng
! tcp.port == 22 Loại bỏ traffic SSH
ip.version == 4 Wireshark IPv4 filter: Lọc tất cả các
gói tin IP version 4tcp.srcport == 80 Wireshark port filter: Lọc tất cả gói
Trang 27tin TCP có source port là 80
tcp.port == 80 Lọc tất cả các gói tin có liên quan đến
port 80udp.port == 67 or udp.port == 68 Traffic DHCP
ip.src == 192.168.0.1 Wireshark filter source ip
ip.dst == 192.168.0.1 Wireshark filter destination ip
Bảng 4: Wireshark Expression tham khảo cho phần Display Filter
Để đọc thêm về ngôn ngữ lọc hiển thị của Wireshark, hãy tham khảo Building Display Filter Expressions trên trang tài liệu chính thức của Wireshark
Hình 11 Giao hiện hiển thị
Trang 28Khi nhấn chuột phải vào từng gói và chọn Follow > TCP Stream, chương trình
sẽ hiển thị toàn bộ quãng thời gian giao tiếp TCP giữa máy khách và máy chủ
Có thể nhấp vào giao thức khác trong menu Follow để xem toàn bộ quãng thời gian giao tiếp cho những giao thức đó
Hình 12 Xem đầy đủ cuộc hội thoại trong display Filter
Đóng cửa sổ và sẽ thấy bộ lọc đã được áp dụng tự động Wireshark đang hiển thị các gói tạo phiên giao tiếp
Nhấp và chọn vào gói tin chi tiết
Trang 29Hình 13 Chi tiết của một gói tin
Có thể tạo bộ lọc mới ở đây - nhấp chuột phải vào phần thông tin chi tiết và chọn menu con Apply as Filter để áp dụng
2 Nội dung cơ bản về mô hình TCP/IP
a) TCP/IP là gì?
TCP/IP là viết tắt của "Transmission Control Protocol/Internet Protocol" Đây là một bộ giao thức mạng được sử dụng rộng rãi để quản lý và truyền tải dữ liệu trong mạng máy tính TCP/IP được coi là cơ sở của Internet và mạng máy tính hiện đại và một bộ các giao thức mạng được sử dụng rộng rãi trên Internet và các mạng máy tính Mô hình này bao gồm các lớp: Application, Transport, Network và
Trang 30Link Gói tin IP là gói tin cơ bản trong mạng Internet Protocol (IP) Nó chứa thông tin về địa chỉ nguồn và đích, các trường điều khiển và dữ liệu.
- Transmission Control Protocol (TCP): TCP đảm bảo việc truyền dữ liệu
an toàn và tin cậy giữa các thiết bị trên mạng Nó đảm bảo rằng dữ liệu được gửi từ một điểm sẽ đến đúng đích mà không bị mất hoặc hỏng
Ví dụ: Khi tải một trang web, trình duyệt sử dụng giao thức TCP để đảm bảo rằng dữ liệu của trang web đến đúng và đầy đủ
- Internet Protocol (IP): IP quản lý việc xác định địa chỉ và định tuyến dữ liệu trong mạng Mỗi thiết bị kết nối với Internet cần có địa chỉ IP để có thể giao tiếp với các thiết bị khác trên mạng
Ví dụ: Địa chỉ IP của máy tính cho phép truy cập các trang web và dịch vụ trực tuyến khác
b) Ưu điểm và nhược điểm của TCP/IP
Ưu điểm
- Thiết lập kết nối giữa các loại máy tính khác nhau
- Hoạt động độc lập với hệ điều hành
- Hỗ trợ nhiều giao thức định tuyến
- Kiến trúc client – server, khả năng mở rộng cao
- Có thể hoạt động độc lập
- Hỗ trợ nhiều giao thức định tuyến
- Nhẹ, không gây nhiều áp lực với máy tính hay mạng
Nhược điểm
Trang 31Dẫu vậy, không có mô hình nào là hoàn hảo TCP/IP cũng có một số điểm hạn chế cần được khắc phục:
- Việc cài đặt khá phức tạp, khó để quản lý
- Tầng transport không đảm bảo việc phân phối các gói tin
- Các giao thức trong TCP/IP không dễ để có thể thay thế
- Không tách biệt rõ ràng các khái niệm về dịch vụ, giao diện và giao thức
Do đó nó không hiệu quả để mô tả các công nghệ mới trong mạng mới
- Dễ bị tấn công SYN – một kiểu tấn công từ chối dịch vụ
Đối với IP, giao thức IP đảm bảo các gói được đi đến đúng địa chỉ đích Mỗi gateway trên mạng sẽ kiểm tra địa chỉ IP này để xác định nơi chuyển tiếp
Các giao thức phổ biến của giao thức TCP/IP gồm:
- HTTP (Hyper Text Transfer Protocol): Xử lý giao tiếp giữa máy chủ web
và trình duyệt web
- HTTPS (Secure HTTP): Xử lý giao tiếp bảo mật giữa máy chủ web và trình duyệt web
Trang 32- FTP (File Transfer Protocol – Giao thức truyền tệp): Xử lý việc truyền tải file giữa các máy tính.
d) Cách thức hoạt động của giao thức TCP/IP
Bộ giao thức TCP/IP sử dụng mô hình giao tiếp client – server Trong đó, người dùng (client) được cung cấp dịch vụ (như gửi trang web) bởi một máy chủ (server) trong mạng
TCP/IP là sự kết hợp giữa 2 giao thức như tên gọi Trong đó, IP (Giao thức liên mạng) có nhiệm vụ gửi các gói tin đến đích đã định sẵn Quy trình hoạt động của IP là thêm các thông tin chỉ đường vào các gói tin để chúng đến được đích quy định
Và giao thức TCP (Giao thức truyền vận) đóng vai trò kiểm tra và đảm bảo
sự an toàn cho mỗi gói tin khi đi qua mỗi trạm Khi giao thức TCP nhận thấy gói tin bị lỗi trong quá trình truyền vận, một tín hiệu sẽ được phát ra và yêu cầu hệ thống máy chủ gửi lại một gói tin khác Quá trình hoạt động này sẽ được làm rõ hơn ở chức năng của mỗi tầng trong mô hình TCP/IP trong phần dưới đây
Ví dụ về cách hoạt động của giao thức TCP/IP:
1 Máy tính A muốn gửi dữ liệu đến máy tính B
2 Máy tính A sử dụng lớp 4 (TCP hoặc UDP) để gói dữ liệu và đính kèm địa chỉ IP của máy tính B
3 Lớp 3 (Network Layer) quyết định đường đi tốt nhất từ máy tính A đến máy tính B
4 Lớp 2 (Data Link Layer) thêm địa chỉ MAC và kiểm tra lỗi (nếu cần) cho các gói tin
Trang 335 Lớp 1 (Physical Layer) truyền các gói tin qua phương tiện truyền thông vật
lý, chẳng hạn như cáp hoặc sóng vô tuyến
6 Máy tính B nhận các gói tin, giải nén và đọc nội dung
e) Các tầng trong mô hình TCP/IP
Mô hình TCP/IP tiêu chuẩn được chia thành 4 tầng (Layer) chồng lên nhau bao gồm:
Tầng vật lý (Physical) → Tầng mạng (Network) → Tầng giao vận
(Transport) và cuối cùng là Tầng ứng dụng (Application)
Mỗi tầng đều có giao thức cụ thể khác nhau
Hình 14 Mô hình TCP/IP
Tầng 4 – Tầng Ứng Dụng (Application)
Cung cấp cho các ứng dụng những trao đổi dữ liệu chuẩn hóa, giao tiếp
dữ liệu giữa 2 máy khác nhau thông qua các dịch vụ mạng khác nhau
Trang 34Bao gồm các giao thức trao đổi dữ liệu hỗ trợ truyền tập tin:
- HTTP
- FTP
- Post Office Protocol 3 (POP3)
- Simple Mail Transfer Protocol (SMTP)
- Simple Network Management Protocol (SNMP)
Dữ liệu trong tầng này là dữ liệu ứng dụng thực tế
Tầng 3 – Tầng Giao Vận (Transport)
Chịu trách nhiệm duy trì thông tin liên tạc end-to-end trên toàn mạng TCP xử lý thông tin liên lạc giữa các máy chủ và cung cấp khả năng kiểm soát luồng, ghép kênh và độ tin cậy
Trong tầng này bao gồm 2 giao thức cốt lõi:
- TCP: giúp đảm bảo chất lượng gói tin
- UDP: giúp tốc độ truyền tải nhanh hơn
Trang 35f) Ứng dụng của giao thức TCP/IP là gì?
Giao thức TCP/IP có thể được sử dụng để:
Cung cấp thông tin đăng nhập từ xa qua mạng
Truyền file tương tác, gửi email, phân phối trang web qua mạng
Truy cập từ xa vào hệ thống của máy chủ lưu trữ
3 Cấu trúc gói tin IP
Gồm 2 phần là Header và data Header chứa thông tin quản lý của gói tin,
data là phần dữ liệu cần truyền tải được đóng gói trong gói tin IP
Trang 36Hình 15 Cấu trúc gói tin IP
- VERS (4 bit): chỉ ra phiên bản hiện hành của IP đang được dùng, Nếu trường
này khác với phiên bản IP của thiết bị nhận, thiết bị nhận sẽ từ chối và loại bỏ các gói tin này
- HLEN (IP Header Length - 4 bit): chỉ độ dài phần tiêu đề của datagram, tính
theo đơn vị word (32 bits) Nếu không có trường này thì độ dài mặc định của header là 5 từ
- Service Type (8 bit): đánh dấu dữ liệu (marking) phục vụ cho tác vụ QoS với
các gói tin IP
- Precedence (3 bit): chỉ thị quyền ưu tiên gửi datagram, cụ thể:
- Delay (1 bit): chỉ độ trễ yêu cầu 0: độ trễ bình thường; 1: độ trễ thấp
- Throughput (1 bit): chỉ số thông lượng yêu cầu 0: thông lượng bình thường;
1: thông lượng cao
Trang 37- Reliability (1 bit): chỉ độ tin cậy yêu cầu 0: độ tin cậy bình thường; 1: độ tin
cậy cao
- Total Length (16 bit): chiều dài của toàn bộ gói tin IP kể cả phần header được
tính theo byte Để biết chiều dài của dữ liệu cần lấy tổng chiều dài này trừ đi HLEN
- Identification (16 bit): Trường định danh, cùng các tham số khác như địa chỉ
nguồn (Source address) và địa chỉ đích (Destination address) để định danh duy nhất cho mỗi Datagram được gửi đi bởi 1 trạm Thông thường phần định danh được tăng thêm 1 khi 1 Datagram được gửi đi
- Flags (3 bit): Cờ sử dụng trong khi phân đoạn các Datagram.
o Bit 0: reserved chưa sử dụng, giá trị luôn là 0
o Bit 1: DF = 1: Gói tin bị phân đoạn, có nhiều hơn 1 đoạn, DF = 0: Gói
tin ko bị phân đoạn
o Bit 2: MF = 0: đoạn cuối cùng, MF = 1: chưa là đoạn cuối cùng, còn
đoạn khác phía sau nữa
- Fragment Offset (13 bit): Chỉ vị trí của đoạn phân mảnh (Fragment) trong IP
Datagram tính theo đơn vị 64 Bit
- Time to Live (TTL) (8 bit): sử dụng để chống loop gói tin IP khi xảy ra lỗi
định tuyến trên sơ đồ mạng Giá trị này được đặt lúc bắt đầu gửi gói tin và nó sẽ giảm đi 1 đơn vị khi đi qua 1 router Khi TTL = 0, gói tin sẽ bị loại bỏ
- Protocol (8 bit): nhận dạng giao thức nào đang được truyền tải trong phần data
của gói tin IP, như TCP hay UDP
- Header checksum (8 bit): kiểm tra lỗi của IP Header Nếu như việc kiểm tra
này thất bại, gói dữ liệu sẽ bị huỷ bỏ tại nơi xác định được lỗi
- Source Address (32 bit): địa chỉ của trạm nguồn.
- Destination Address (32 bit): địa chỉ của trạm đích.
Trang 38- Option (có độ dài thay đổi): cho phép thêm vào tính năng mới cho giao thức
IP
- Padding (độ dài thay đổi): Cấu trúc của gói IP quy định option phải là bội số
của 32bit nên nếu option không đủ số bit, các bit padding sẽ được thêm vào để đạt được yêu cầu này
- Data (độ dài thay đổi): vùng dữ liệu có độ dài là bội của 8 bit, tối đa là 65535
byte