Giám sát mạng là vô cùng quan trọng. Trong đồ án này hướng dẫn các bạn xây dựng công cụ bắt và phân tích gói tin. Phục vụ cho công việc theo dõi và giám sát mạng bằng ngôn ngữ python.
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Triển khai DHCP Server trên mô hình mạng ba lớp, cho các bạn tham khảo
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...The Boss
Đề tài tốt nghiệp ngành công nghệ thông tin chuyên ngành công nghệ phần mềm. Báo cáo đồ án ứng dụng nhận dạng chữ viết tay xây dựng phần mềm học từ vựng tiếng anh trên môi trường Nodejs và framework angular
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://baocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Xây dựng Website quản lý điểm trường Phổ thông nhiều cấp học Nguyễn Tất Thành, cho các bạn làm luận văn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Áp dụng các kỹ thuật trong Big data vào lưu trữ dữ liệu, cho các bạn làm luận văn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Triển khai DHCP Server trên mô hình mạng ba lớp, cho các bạn tham khảo
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...The Boss
Đề tài tốt nghiệp ngành công nghệ thông tin chuyên ngành công nghệ phần mềm. Báo cáo đồ án ứng dụng nhận dạng chữ viết tay xây dựng phần mềm học từ vựng tiếng anh trên môi trường Nodejs và framework angular
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://baocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Xây dựng Website quản lý điểm trường Phổ thông nhiều cấp học Nguyễn Tất Thành, cho các bạn làm luận văn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Áp dụng các kỹ thuật trong Big data vào lưu trữ dữ liệu, cho các bạn làm luận văn tham khảo
Kĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơnNguyen Thieu
Bài tập lớn môn học Xử Lý Ảnh (Thế Anh, Thiệu)
Code và toàn bộ báo cáo có thể xem tại đây:
https://drive.google.com/drive/folders/0B0gRRELQqRA8QlYwaE14NDlsZHc?usp=sharing
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp với đề tài: Phần mềm quản lý thông tin sinh viên, cho các bạn làm luận án tham khảo, các bạn có thể làm luận văn tham khảo
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Tìm hiểu kỹ thuật giấu tin trên biên của ảnh nhị phân, cho các bạn làm luận văn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Phần mềm Quản Lý Siêu Thị Mini, cho các bạn có thể làm luận văn tham khảo
Lập trình ứng dụng web asp.net Trung Tâm Tin Học Khoa Học Tự NhiênMasterCode.vn
Sau khi hoàn thành khóa học này, học viên sẽcó các khảnăng:
Cài đặt và cấu hình Web Server.
Thiết kế, xây dựng, phát triển ứng dụng web với Asp.Net
Với thời lượng là 36 tiết LT và 60 tiết TH được phân bổnhưsau:
STT Bài học Sốtiết LT Sốtiết TH
1 Tổng quan vềAsp.Net 3 5
2 Asp Server Control 6 10
3 Các điều khiển liên kết dữliệu 6 10
4 Xây dựng lớp xửlý dữliệu 3 5
5 Xây dựng các đối tượng thểhiện 6 10
6 Xây dựng và quản lý ứng dụng web 9 15
7 Web Services 3 5
Tổng số
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Tìm hiểu giải pháp an ninh mạng với firewall, cho các bạn làm luận văn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Phân cụm dữ liệu: Bài toán và các giải thuật theo tiếp cận phân cấp, cho các bạn làm luận văn tham khảo
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, cho các bạn làm luận văn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://baocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Khai phá dữ liệu; Phân cụm dữ liệu;Ứng dụng trong đời sống, cho các bạn tham khảo
Kĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơnNguyen Thieu
Bài tập lớn môn học Xử Lý Ảnh (Thế Anh, Thiệu)
Code và toàn bộ báo cáo có thể xem tại đây:
https://drive.google.com/drive/folders/0B0gRRELQqRA8QlYwaE14NDlsZHc?usp=sharing
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp với đề tài: Phần mềm quản lý thông tin sinh viên, cho các bạn làm luận án tham khảo, các bạn có thể làm luận văn tham khảo
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Tìm hiểu kỹ thuật giấu tin trên biên của ảnh nhị phân, cho các bạn làm luận văn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Phần mềm Quản Lý Siêu Thị Mini, cho các bạn có thể làm luận văn tham khảo
Lập trình ứng dụng web asp.net Trung Tâm Tin Học Khoa Học Tự NhiênMasterCode.vn
Sau khi hoàn thành khóa học này, học viên sẽcó các khảnăng:
Cài đặt và cấu hình Web Server.
Thiết kế, xây dựng, phát triển ứng dụng web với Asp.Net
Với thời lượng là 36 tiết LT và 60 tiết TH được phân bổnhưsau:
STT Bài học Sốtiết LT Sốtiết TH
1 Tổng quan vềAsp.Net 3 5
2 Asp Server Control 6 10
3 Các điều khiển liên kết dữliệu 6 10
4 Xây dựng lớp xửlý dữliệu 3 5
5 Xây dựng các đối tượng thểhiện 6 10
6 Xây dựng và quản lý ứng dụng web 9 15
7 Web Services 3 5
Tổng số
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Tìm hiểu giải pháp an ninh mạng với firewall, cho các bạn làm luận văn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Phân cụm dữ liệu: Bài toán và các giải thuật theo tiếp cận phân cấp, cho các bạn làm luận văn tham khảo
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, cho các bạn làm luận văn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://baocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Khai phá dữ liệu; Phân cụm dữ liệu;Ứng dụng trong đời sống, cho các bạn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành công nghệ thông tin với đề tài: Tìm hiểu kỹ thuật lập trình Network Service, cho các bạn làm luận văn tham khảo
Nhận viết luận văn Đại học , thạc sĩ - Zalo: 0917.193.864
Tham khảo bảng giá dịch vụ viết bài tại: vietbaocaothuctap.net
Download luận văn tóm tắt ngành kĩ thuật điện tử với đề tài: Thiết kế hệ thống nhúng cho ứng dụng giải trí thời gian thực trên nền Android, cho các bạn làm luận văn tham khảo
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://baocaothuctap.net
Download luận văn đồ án tốt nghiệp ngành điện với đề tài: Nghiên cứu, xây dựng hệ thống kết nối Bus điều khiển đa kênh, cho các bạn làm luận văn tham khảo
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
1. TẬP ĐOÀN BƯU CHÍNH VIỄN THÔNG VIỆT NAM
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG HỒ CHÍ MINH
--------------------------------------------
BÁO CÁO THỰC TẬP
TỐT NGHIỆP ĐẠI HỌC
Đề tài:
“XÂY DỰNG CÔNG CỤ BẮT VÀ PHÂN TÍCH GÓI TIN
PHỤC VỤ CHO CÔNG VIỆC THEO DÕI VÀ GIÁM SÁT
MẠNG”
Người hướng dẫn : Ts. Huỳnh Trọng Thưa
Sinh viên thực hiện: Đoàn Ngọc Vương
Mã số sinh viên : N14DCAT138
Lớp : D14CQAT01-N
Khoá : 2014
Hệ: Đại Học Chính Qui
HỒ CHÍ MINH 8/2018
2. LỜI CẢM ƠN
Để hoàn thành đề tài thực tập tốt nghiệp này trước hết em xin gửi đến quý thầy, cô
giáo trong khoa Công nghệ thông tin2 của Học Viện Công Nghệ Bưu Chính Viễn Thông
cơ sở Hồ Chí Minh lời cảm ơn chân thành.
Đặc biệt, em xin gởi đến thầy Huỳnh Trọng Thưa trưởng bộ môn An Toàn Thông Tin,
người đã tận tình hướng dẫn, giúp đỡ em hoàn thành đề tài thực tập tốt nghiệp này.
Em xin chân thành cảm ơn Ban Lãnh Đạo của Trung Tâm An Ninh Mạng Viettel đã
tạo điều kiện thuận lợi cho em được tìm hiểu thực tiễn trong suốt quá trình thực tập tại
công ty.
Cuối cùng em xin cảm ơn các anh, các bạn trong phòng an ninh hệ thống và ứng dụng
đã giúp đỡ, chỉ bảo tận tình trong lúc làm việc.
Vì kiến thức bản thân còn hạn chế, trong quá trình thực tập, hoàn thiện chuyên đề này em
không tránh khỏi những sai sót, kính mong nhận được những ý kiến đóng góp từ thầy cô
cũng như quý công ty.
Trân trọng, ngày 6 tháng 8 năm 2018
Sinh viên thực hiện
(ký và ghi rõ họ tên)
3. Báo cáo thực tập tốt nghiệp Mục lục
Đoàn Ngọc Vương – D14CQAT01-N P a g e | i
MỤC LỤC
MỤC LỤC i
DANH MỤC HÌNH ẢNH ii
LỜI MỞ ĐẦU iii
CHƯƠNG I. CẤU TRÚC GÓI TIN 1
1.1. Mô hình TCP/IP 1
1.2. Cấu trúc của gói tin 3
1.2.1. Cấu trúc Frame 3
1.2.2. Cấu trúc Datagram 4
1.2.3. Cấu trúc TCP Segment 6
1.2.4. Cấu trúc UDP Datagram 8
1.3. Một số giao thức thường gặp 9
1.3.1. HTTP (HyberText Transfer Protocol) 9
1.3.2. DNS (Domain Name System) 9
1.3.3. FPT (File Transfer Protocol) 10
1.3.4. POP (Post Office Protocol) 10
1.3.5. SMTP (Simple Mail Transfer Protocol) 10
1.3.6. TELNET (Terminel Network) 11
1.3.7. SSH (Secure Shell) 11
CHƯƠNG II. GIÁM SÁT MẠNG 12
2.1. Giám sát mạng 12
2.2. Giám sát an toàn mạng (Network security monitoring) 12
2.3. Các loại dữ liệu cần thiết cho giám sát an toàn mạng 14
CHƯƠNG III. XÂY DỰNG CÔNG CỤ BẮT VÀ PHÂN TÍCH GÓI TIN 16
3.1. Thư viện Pyshark 16
3.1.1. Pyshark 16
3.1.2. Pyshark – FileCapture, LiveCapture module 17
3.2. Xây dựng công cụ bắt và phân tích gói tin dựa trên pyshark 18
3.2.1. Xây dựng giao diện 18
3.2.2. Cấu trúc công cụ 18
3.2.3. Class packet 21
4. Báo cáo thực tập tốt nghiệp Mục lục
Đoàn Ngọc Vương – D14CQAT01-N P a g e | ii
3.2.4. Chức năng bắt gói tin 21
3.2.5. Chức năng mở file 22
2.6. Chức năng thống kê 22
3.3. Kết quả 23
3.3.1. Hiển thị dữ liệu mô tả gói tin 23
3.3.2. Hiển thị dữ liệu chi tiết của gói tin 24
3.3.3. Hiển thị dữ liệu thống kê 24
TÀI LIỆU THAM KHẢO 25
DANH MỤC HÌNH ẢNH
Hình 1. Mô hình TCP/IP và các PDU tương ứng. 1
Hình 2. Quá trình đóng gói dữ liệu trong TCP/IP. 2
Hình 3. Dữ liệu của header Frame (Text). 3
Hình 4. Thành phần của Data Frame. 3
Hình 5. Dữ liệu trong Datagram. 4
Hình 6. Thành phần cấu trúc của một Datagram. 5
Hình 7. Dữ liệu trong TCP Segment. 7
Hình 8. Cấu trúc của TCP Segment. 7
Hình 9. Dữ liệu trong UDP Datagram. 8
Hình 10. Cấu trúc của một UDP Datagram. 9
Hình 11. Ví dụ về dữ liệu của HTTP Layer. 9
Hình 12. Ví dụ về dữ liệu của DNS Layer. 10
Hình 13. Chu trình giám sát an toàn mạng. 12
Hình 15. Giao diện. 18
5. Báo cáo thực tập tốt nghiệp Lời mở đầu
Đoàn Ngọc Vương – D14CQAT01-N P a g e | iii
LỜI MỞ ĐẦU
Trong vai trò là người quản trị hệ thống hoặc là chuyên gia an toàn thông tin thì công
tác giám sát mạng luôn là một viết thiết yếu. Giám sát mạng cho chúng ta biết được lưu
thông đang được sử dụng trên mạng, từ đó phân tích xác định được những thông tin đầy
đủ và cần thiết cho công việc xây dựng hoặc phân tích hệ thống mạng.
Để phục vụ cho quá trình giám sát mạng, chúng ta có thể dùng phần cứng hoặc phần mềm
để thực hiện.
Tuy đã có nhiều phần mềm ứng dụng cung cấp phục vụ cho công việc nay như Wireshark,
TCPdump...
Nhưng để hiểu rõ hơn về quá trình xây dựng và vận hành của hệ thống giám sát mạng
cũng như có thể tuỳ biến công cụ phù hợp hơn với nhu cầu của bản thân.
Đồng thời nhận thấy điểm mạnh của bản thân, đã có kinh nghiệm trong việc sử dụng ngôn
ngữ lập trình Python cùng các thư viện của nó.
Nên em quyết định sẽ vận dụng những kiến thức đã tích luỹ ở trường và quá trình thực tập
để đi tìm hiểu và xây dựng đề tài:
“Xây dựng công cụ bắt và phân tích gói tinphục vụ cho công việc theo dõi và giám
sát mạng bằng ngôn ngữ Python”.
- Lý thuyết
Tìm hiểu và sử dụng ngôn ngữ lập trình Python.
Tìm hiểu về cấu trúc tập tin pcap và cấu trúc các gói tin lưu thông trên
mạng.
Tìm hiểu về các thông tin hữu ích phục vụ cho công việc theo dõi và giám
sát mạng.
- Thực hành
Xây dựng công cụ bắt và phân tích tập tin pcap, hiển thị các thông tin hữu ích
phục vụ cho công tác giám sát mạng.
6. Báo cáo thực tập tốt nghiệp Chương I. Cấu trúc gói tin
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 1
CHƯƠNG I. CẤU TRÚC GÓI TIN
1.1. Mô hình TCP/IP
Mô hình TCP/IP là mô hình có trước so với mô hình OSI, mục đích mô hình
OSI để tham chiếu làm rõ ràng cách thức trao đổi thông tin giữa các máy tính với
nhau, hay nói cách khác là mô hình OSI mang tính chất dùng cho học tập nghiên
cứu nhiều hơn là đưa vào triển khai thực tế. Các bạn gặp rất trường hợp dùng mô
hình OSI, ngay trên mạng máy tính của bạn cũng đang
dùng TCP/IPv4 hoặc TCP/IPv6. Mô hình TCP/IP còn được gọi với tên khác là: mô
hình DoD (mô hình của bộ quốc phòng Mỹ).
Hình 1. Mô hình TCP/IP và các PDU tương ứng.
Network Access Layer (tầng truy cập).
Có thể coi tầng truy cập là một tầng riêng biệt hoặc cũng có thể tách thành 2 tầng
vật lý và tầng liên kết dữ liệu như trong mô hình OSI, tầng truy cập được sử dụng
để truyền gói tin từ tầng mạng đến các host trong mạng. Thành phần tầng truy cập
bao gồm cả các thiết bị vật lý (hub, switch, cáp mạng, card mạng HBA-Host Bus
Adapter và các đặc tả mức thấp như tín hiệu điện.
Internet Layer (tầng mạng)
Nhiệm vụ của tầng mạng trên mô hình TCP/IP là giải quyết vấn đề dẫn các gói tin
đi qua các mạng để đến đúng đích mong muốn.
Transport Layer (tầng vận chuyển)
7. Báo cáo thực tập tốt nghiệp Chương I. Cấu trúc gói tin
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 2
Cũng giống với tầng vận chuyển của mô hình OSI, tầng vận chuyển làm nhiệm vụ
phân nhỏ các gói tin có kích thước lớn khi gửi và tập hợp lại khi nhận, đảm bảo
tính toàn vẹn cho dữ liệu (không lỗi, không mất, không lặp, đúng thứ tự).
Application Layer (tầng ứng dụng)
là nơi các chương trình mạng như Web Browser, Mail User Agent làm việc để liên
lạc giữa các node mạng. Do mô hình TCP/IP không có tầng nào nằm giữa tầng ứng
dụng và tầng vận chuyển, nên tầng ứng dụng của mô hình TCP/IP bao gồm cả các
giao thức hoạt động như tầng trình diễn và phiên trong mô hình OSI. Việc này
thường do người lập trình viên thực hiện.
Hình 2. Quá trình đóng gói dữ liệu trong TCP/IP.
- Phương thức hoạt động của bộ giao thức TCP/IP:
Khi truyền dữ liệu, quá trình tiến hành từ tầng trên xuống tầng dưới, qua mỗi
tầng dữ liệu được thêm vào thông tin điều khiển gọi là Header.
8. Báo cáo thực tập tốt nghiệp Chương I. Cấu trúc gói tin
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 3
Khi nhận dữ liệu thì quá trình xảy ra ngược lại. dữ liệu được truyền từ tầng dưới
lên và qua mỗi tầng thì phần header tương ứng sẽ được lấy đi và khi đến tầng trên
cùng thì dữ liệu không còn phần header nữa.
Dữ liệu người dùng tại tầng ứng dụng sẽ được gắn Application Header và chuyển
giao xuống tầng vận chuyển.
Tại đây, nếu dữ liệu quá lớn, nó sẽ được chia thành nhiều phần và thêm header
TCP hoặc UDP để chuyển giao xuống phần dưới. Được gọi là Segment nếu dùng
giao thức TCP và Datagram nếu dùng giao thức UDP.
Sau đó, nó được chuyển xuống tầng mạng, được gắn thêm IP heađer. Được gọi là
Datagram. Xuống tầng truy cập sẽ là Frame.
1.2. Cấu trúc của gói tin
1.2.1. Cấu trúc Frame
Frame là thuật ngữ để chỉ PDU ở tầng truy cập (Access Layer).
Hình 3. Dữ liệu của header Frame (Text).
Hình 4. Thành phần của Data Frame.
Preamble
Preamble chỉ ra sự bắt đầu của một khung truyền. Nó gồm 1 dãy 01 xen kẽ nhau
để báo hiệu cho trạm nhận là có khung đang tới. Đồng thời là phương tiện đồng bộ
hoá những phần khung nhận của lớp vật lý với luồng bits vào.
9. Báo cáo thực tập tốt nghiệp Chương I. Cấu trúc gói tin
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 4
SFD (Start Frame Delemiter)
SFD là chuỗi 8bit (10101011) theo sau Preamble và chỉ ra sự bắt đầu của chuỗi
thông tin với hai bit cuối là 11. Sau byte này sẽ là địa chỉ.
DestinationAddress: Bao gồm 6 byte chứa địa chỉ MAC của máy đích.
Source Address: Bao gồm 6 byte chứa địa chỉ MAC của máy gửi.
Length: Chỉ ra số byte trong PDU.
Data – trường dữ liệu(802.2 frame)
Gồm tuần tự n bytes dữ liệu (46bytes~1500bytes). Nếu không đủ,sẽ tự động
đệm thêm cho đủ 46 bytes.
CRC (Frame Check Sequence): Gồm 32bits mã kiểm tra lỗi theo mã CRC-32.
1.2.2. Cấu trúc Datagram
Datagram dùng để chỉ PDU ở tầng mạng (Internet Layer) trong mô hình
TCP/IP.
Hình 5. Dữ liệu trong Datagram.
10. Báo cáo thực tập tốt nghiệp Chương I. Cấu trúc gói tin
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 5
Hình 6. Thành phần cấu trúc của một Datagram.
VERS (Version) – 4 bits: Định nghĩa phiên bản hiện thời của IP trên mạng.
IHL (Internet Header Length) – 4 bits
Chiều dài của đầu IP. Không phải tất cả các trường trong phần đầu đều được sử
dụng. Trường đo bằng đơn vị từ 32 bit. Đầu IP ngắn nhất là 20 bytes. Nó cũng có
thể dài hơn phụ thuộc trường option.
Service Type – 8 bits
Cho biết các thông tin về loại dịch vụ và mức ưu tiên của gói IP.
Total length – 16 bits: Đây là chiều dài của datagram đo bằng byte
Identification - 16 bits
Cùng với các tham số khác như (Source Address và Destination Address) tham số
này dùng để định danh duy nhất cho một datagram trong khoảng thời gian nó vẫn
còn trên liên mạng.
+ Flags (3 bits): Liên quan đến sự phân đoạn (Fragment) của datagram:
Bit 0: Reserved chưa sử dụng luôn lấy giá trị 0
Bit 1:
DF = 1: Gói tin bị phân đoạn, có nhiều hơn 1 đoạn
11. Báo cáo thực tập tốt nghiệp Chương I. Cấu trúc gói tin
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 6
DF = 0: Gói tin ko bị phân đoạn.
Bit 2:
MF = 0: Đây là đoạn cuối cùng
MF = 1: Đây chưa phải là đoạn cuối cùng, còn đoạn khác phía sau nữa
Fragment Offset - 13 bits
Chỉ vị trí của đoạn (fragment) ở trong datagram, tính theo đơn vị 64 bits, có nghĩa
là mỗi đoạn (trừ đoạn cuối cùng) phải chứa một vùng dữ liệu có độ dài là bội của
64 bits. Nó được dùng để ghép các mảnh Datagram lai với nhau
Time to Live (TTL) – 8 bits
Giá trị này được đặt lúc bắt đầu gửi gói tin. Và nó sẽ giảm dần khi đi qua 1 router.
gói tin sẽ bị hủy nếu giá trị này = 0 khi chưa đến đích. Việc làm này nhằm giải
quyết vấn đề gói tin bị lặp vô hạn trên mạng.
Protocol - 8 bits: Chỉ ra giao thức lớp trên, chẳng hạn như TCP hay UDP.
Header Checksum
Mã kiểm soát lỗi sử dụng phương pháp CRC (Cyclic Redundancy Check) dùng để
đảm bảo thông tin về gói dữ liệu được truyền đi một cách chính xác (mặc dù dữ
liệu có thể bị lỗi). 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. Cần chú ý là IP không cung cấp một phương tiện truyền tin
cậy bởi nó không cung cấp cho ta một cơ chế để xác nhận dữ liệu truyền tại điểm
nhận hoặc tại những điểm trung gian. Giao thức IP không có cơ chế Error Control
cho dữ liệu truyền đi, không có cơ chế kiểm soát luồng dữ liệu (flow control).
Source Address - 32 bits: Địa chỉ của trạm nguồn.
DestinationAddress - 32 bits: Địa chỉ của trạm đích.
Option (có độ dài thay đổi)
Sử dụng trong một số trường hợp, nhưng thực tế chúng rất ít dùng. Option bao gồm
bảo mật, chức năng định tuyến đặc biệt
1.2.3. Cấu trúc TCP Segment
TCP là giao thức điều khiển truyền vận. Là bộ giao thức cốt lỗi trong mô
hình TCP/IP. Là giao thức truyền vận đáng tin cậy (không mất gói, đúng thứ tự).
Thuật ngữ TCP segment dùng để chỉ Protocol Data Unit (PDU) ở tầng vận chuyển
(Transport Layer) nếu kết nối dùng giao thức TCP.
12. Báo cáo thực tập tốt nghiệp Chương I. Cấu trúc gói tin
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 7
Hình 7. Dữ liệu trong TCP Segment.
Hình 8. Cấu trúc của TCP Segment.
Source Port – 16 bits: Cổng (Port) gửi.
DestinationPort – 16 bits: Cổng nhận.
Sequence number – 32 bits
Có hai vai trò:
13. Báo cáo thực tập tốt nghiệp Chương I. Cấu trúc gói tin
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 8
Nếu cờ SYN được bật (1), thì đây là số thứ tự ban đầu (init sequence number). Số
thứ tự của byte dữ liệu tiếp theo bằng với số xác nhận vừa nhận được, và bằng với
số thứ tự trước đó cộng thêm 1.
Nếu cờ SYN tắt (0), thì đây là số thứ tự tích luỹ cyả byte dữ liệu đầu tiê của
segment này cho đến phiên hiện tại.
Ackowlegement Number (ACK number) – 32 bits
Cờ ACK được bật thì giá trị này là số thứ tự tiếp theo mà bên nhận mong đợi.
Các ACK đầu tiên dùng để xác nhận số thứ tự ban đầu của bên vừa gửi, không
chứa dữ liệu.
HLEN– 4 bits
Quy định độ dài của header. (Tối thiểu là 160bits -> Tối đa là 480 bits)
Flags – 9 bits (Hay Control bits)
URG: Cờ cho trường Urgent pointer.
ACK: Cờ cho trường Ackowledgement
PSH: Hàm Push.
RST: Thiết lập lại đường truyền.
SYN: Đồng bộ lại số thứ tự
FIN: Không gửi thêm số liệu, cờ kết thúc.
Window size – 16 bits: Kích thước của cửa sổ nhận.
Checksum – 16 bits: Kiểm tra lỗi của header và data.
Padding – 16 bits.
Nếu cờ URG bật thì trường này chính là số từ 16 bits mà số thứ tự gói tin Sequence
number cần dịch trái.
1.2.4. Cấu trúc UDP Datagram
UDP (User Datagram Protocol) làmột trong những giao thức cốt lõi của
giao thức TCP/IP. Dùng UDP, chương trình trên mạng máy tính có thể gửi những
dữ liệu ngắn được gọi là datagram tới máy khác.
UDP là giao thức truyền gửi không tin cậy.
Thuật ngữ UDP Datagram dùng để chỉ Protocol Data Unit (PDU) ở tầng vận
chuyển (Transport Layer) nếu kết nối dùng giao thức UDP.
Hình 9. Dữ liệu trong UDP Datagram.
14. Báo cáo thực tập tốt nghiệp Chương I. Cấu trúc gói tin
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 9
Hình 10. Cấu trúc của một UDP Datagram.
Cấu trúc của UDP Datagram ngắn hơn rất nhiều TCP Datagram là do thuộc tính
của mỗi bên. UDP không cần kiểm soát lỗi, chỉ cần “có thể” gửi dữ liệu đến đích.
1.3. Một số giao thức thường gặp
1.3.1. HTTP (HyberText Transfer Protocol)
Là giao thức truyền siêu văn bản, nằm ở tầng ứng dụng, được sử dụng để
gửi nội dung giữa web server và web client.
Sử dụng TCP là giao thức ở tầng vận chuyển.
Port mặc định (Server): 80
Hình 11. Ví dụ về dữ liệu của HTTP Layer.
1.3.2. DNS (Domain Name System)
Là hệ thống cho phép thiết lập tương tác giữa địa chỉ IP và tên miền trên
Internet.
Sử dụng UDP là giao thức ở tầng vận chuyển.
Port mặc định (Client): 53
15. Báo cáo thực tập tốt nghiệp Chương I. Cấu trúc gói tin
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 10
Hình 12. Ví dụ về dữ liệu của DNS Layer.
1.3.3. FPT (File Transfer Protocol)
FTP (viết tắt của File Transfer Protocol dịch ra là “Giao thức truyền tập
tin”) là giao thức truyền file giữa các máy tính.
Dùng giao thức TCP ở tầng vận chuyển.
FPT sử dụng 2 port mặc định:
- Port 20: Gửi dữ liệu.
- Port 21: Gửi lệnh (command).
1.3.4. POP (Post Office Protocol)
POP (viết tắt của từ Post Office Protocol) làmột giao thức tầng ứng dụng,
dùng để lấy thư điện tử từ server mail, thông qua kết nối TCP/IP.
POP3 và IMAP4 (Internet Message Access Protocol) là 2 chuẩn giao
thức Internet thông dụng nhất dùng để lấy nhận email.
Mặc đình, port POP3 là:
- Port 110 – port không mã hóa
- Port 995 – SSL/TLS port, cũng có thể được gọi là POP3S.
1.3.5. SMTP (Simple Mail Transfer Protocol)
16. Báo cáo thực tập tốt nghiệp Chương I. Cấu trúc gói tin
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 11
SMTP (tiếng Anh: Simple Mail Transfer Protocol - giao thức truyền tải thư
tín đơn giản) là một chuẩn truyền tải thư điện tử qua mạng Internet.
SMTP dùng cổng 25 của giao thức TCP.
1.3.6. TELNET (Terminel Network)
TELNET (viết tắt của TErminaL NETwork) là một giao thức
mạng (network protocol) được dùng trên các kết nối với Internet hoặc các kết nối
tại mạng máy tính cục bộ LAN.
Telnet dùng cổng 23 của giao thức TCP.
1.3.7. SSH (Secure Shell)
SSH (tiếng Anh: Secure Shell) là một giao thức mạng dùng để thiết lập kết
nối mạng một cách bảo mật.
SSH dùng cổng 22 của giao thức TCP.
17. Báo cáo thực tập tốt nghiệp Chương II. Giám sát mạng
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 12
CHƯƠNG II. GIÁM SÁT MẠNG
2.1. Giám sát mạng
Giám sát mạng là việc sử dụng một hệ thống phần cứng hoặc phần mềm để liên
tục theo dõi một mạng máy tính.
Từ các lưu lượng thu thập được, có thể nằm rõ về quá trình hoạt động của các
thành phần trong hệ thống mạng. Từ đó, có thể quản lý và điều khiển hệ thống
mạng tốt hơn.
Nếu đi theo hướng mục đích xấu, giám sát mạng (nghe lén) có thể cho kẻ tấn công
thu thập được những dữ liệu được truyền gửi trên mạng của mục tiêu.
Còn đi theo hướng chuyên viên an toàn thông tin, giám sát mạng cung cấp dữ liệu
và các dấu hiệu để có thể phát hiện, đề phòng các cuộc tấn công từ sớm (hoặc đang
diễn ra) để đưa ra biện pháp kịp thời.
Hoạt động này gọi là giám sát an toàn mạng.
2.2. Giám sát an toàn mạng (Networksecurity monitoring)
Giám sát an toàn mạng, bao gồm 3 bước:
Thu thập dữ liệu.
Phát hiện xâm nhập.
Phân tích dữ liệu an ninh mạng.
Hình 13. Chu trình giám sát an toàn mạng.
18. Báo cáo thực tập tốt nghiệp Chương II. Giám sát mạng
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 13
Bước 1: Thu thập dữ liệu
Chu trình NSM bắt đầu với bước quan trọng nhất là thu thập dữ liệu. Việc
thu thập dữ liệu được thực hiện với sự kết hợp của cả phần cứng và phần mềm
trong việc tạo, sắp xếp và lưu trữ dữ liệu cho việc phát hiện xâm nhập và phân tích
dữ liệu trong hệ thống NSM. Thu thập dữ liệu là phần quan trọng nhất của chu
trình NSM bởi vì các bước thực hiện ở đây sẽ định hình khả năng của một tổ chức
trong việc phát hiện xâm nhập và phân tích dữ liệu hiệu quả.
Có một số loại dữ liệu của NSM và tương ứng sẽ có một số phương pháp có thể thu
thập được các loại dữ liệu này. Các loại dữ liệu phổ biến nhất của NSM bao gồm
dữ liệu nội dung đầy đủ, dữ liệu phiên, dữ liệu thống kê, dữ liệu kiểu chuỗi trong
gói tin và dữ liệu cảnh báo. Tùy thuộc vào nhu cầu của tổ chức, kiến trúc mạng và
nguồn tài nguyên sẵn có, các kiểu dữ liệu này có thể được sử dụng chủ yếu để phát
hiện xâm nhập, phân tích, hoặc cho dùng cho cả hai.
Khởi đầu, thu thập dữ liệu có thể là một trong những phần cần nhiều lao động nhất
trong chu trình NSM. Để thu thập dữ liệu có hiệu quả đòi hỏi có một sự nỗ lực từ
lãnh đạo tổ chức, đội ngũ an ninh thông tin, các nhóm mạng và các nhóm quản trị
hệ thống.
Thu thập dữ liệu bao gồm các nhiệm vụ như sau:
Xác định các vị trí có nhiều điểm yếu tồn tại trong tổ chức
Xác định các nguy cơ ảnh hưởng đến mục tiêu tổ chức
Xác định nguồn dữ liệu có liên quan
Tinh chế nguồn dữ liệu thu thập được
Cấu hình cổng SPAN để thu thập dữ liệu gói tin
Xây dựng lưu trữ SAN cho lưu giữ nhật ký
Cấu hình phần cứng và phần mềm thu thập dữ liệu
Bước 2: Phát hiện xâm nhập
Phát hiện xâm nhập là quá trình mà qua đó dữ liệu thu thập được kiểm tra và
cảnh báo sẽ được tạo ra dựa trên các sự kiện quan sát được và dữ liệu thu thập
không được như mong đợi.
Điều này thường được thực hiện thông qua một số hình thức chữ ký, sự bất thường,
hoặc phát hiện dựa trên thống kê. Kết quả là tạo ra các dữ liệu cảnh báo.
19. Báo cáo thực tập tốt nghiệp Chương II. Giám sát mạng
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 14
Phát hiện xâm nhập thường là một chức năng của phần mềm với một số gói phần
mềm phổ biến như Snort IDS và Bro IDS của một hệ thống phát hiện xâm nhập
mạng (NIDS), và OSSEC, AIDE hoặc McAfee HIPS của một hệ thống phát hiện
xâm nhập máy chủ (HIDS). Một số ứng dụng như Quản lý sự kiện và thông tin an
ninh (Security Information and Event Management - SIEM) sẽ sử dụng cả dữ liệu
dựa trên mạng và dữ liệu dựa trên máy chủ để phát hiện xâm nhập dựa trên các sự
kiện liên quan.
Bước 3: Phân tích dữ liệu
Phân tích là giai đoạn cuối cùng của chu trình NSM, và được thực hiện khi
một người diễn giải và xem xét dữ liệu cảnh báo. Điều này thường sẽ liên quan đến
việc xem xét thu thập dữ liệu bổ sung từ các nguồn dữ liệu khác. Phân tích dữ liệu
có thể được thực hiện với các nhiệm vụ sau:
Phân tích gói tin
Phân tích mạng
Phân tích máy chủ
Phân tích phần mềm độc hại
Phân tích dữ liệu là phần tốn thời gian nhất trong chu trình NSM. Tại thời điểm này
một sự kiện có thể được chính thức nâng lên thành sự cố, và có thể bắt đầu với các
biện pháp ứng phó.
Chu trình NSM kết thúc bằng các bài học kinh nghiệm trong việc phát hiện xâm
nhập và phân tích dữ liệu cho bất kỳ sự bất thường nào và tiếp tục hình thành các
chiến lược thu thập dữ liệu cho tổ chức.
2.3. Các loại dữ liệucần thiết cho giám sát an toàn mạng
Dữ liệubắt gói tinđầy đủ (dữ liệuFPC)
Cung cấp thông tin đầy đủ về tất cả các gói dữ liệu được truyền giữa hai
điểm đầu cuối. Các loại dữ liệu FPC phổ biến nhất là theo định dạng dữ liệu PCAP.
Loại dữ liệu này được sử dụng nhiều nhất và được đánh giá cao về giá trị do tính
chất đầy đủ của nó, và rất phù hợp trong ngữ cảnh phân tích. Các loại dữ liệu khác,
như dữ liệu thống kê hay dữ liệu chuỗi trong gói tin, thường bắt nguồn từ dữ liệu
FPC.
Dữ liệuphiên
Là bản tóm tắt các thông tin giữa hai thiết bị mạng, là một trong những hình
thức linh hoạt và hữu ích nhất của dữ liệu NSM. Tuy dữ liệu phiên không cung cấp
mức độ chi tiết như dữ liệu FPC, nhưng với kích thước nhỏ nó sẽ được lưu lại
20. Báo cáo thực tập tốt nghiệp Chương II. Giám sát mạng
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 15
trong khoảng thời gian dài hơn nhiều, và điều này là vô cùng quý giá khi thực hiện
phân tích lại quá khứ.
Dữ liệuthống kê
Là dữ liệu tổ chức, phân tích, giải thích và biểu diễn các loại dữ liệu khác.
Dữ liệu thống kê có thể bao gồm nhiều hình thức khác nhau.
Dữ liệukiểu chuỗi trong gói tin(PSTR)
Được lấy từ dữ liệu FPC, và tồn tại như một dạng dữ liệu trung gian giữa dữ
liệu FPC và dữ liệu phiên. Định dạng dữ liệu này bao gồm các chuỗi văn bản rõ từ
tiêu đề (header) của các giao thức (ví dụ, dữ liệu trong phần tiêu đề của HTTP).
Kết quả là có được dạng dữ liệu chi tiết gần giống với dữ liệu FPC và duy trì một
kích thước dễ quản lý hơn và cho phép tăng lượng dữ liệu lưu trữ.
Dữ liệu nhật ký. Dữ liệu nhật ký là các tệp tin nhật ký thô được tạo ra từ các thiết
bị, hệ thống hoặc ứng dụng, bao gồm nhật ký web-proxy, nhật ký tường lửa định
tuyến, nhật ký chứng thực VPN, nhật ký bảo mật Windows và dữ liệu SYSLOG.
Loại dữ liệu này thay đổi kích thước và tính hữu dụng của nó tùy thuộc vào nguồn
gốc.
Dữ liệucảnh báo.
Khi công cụ phát hiện ra bất kỳ một bất thường nào trong dữ liệu mà nó
kiểm tra, thì nó sẽ tạo ra một loại dữ liệu gọi là dữ liệu cảnh báo. Dữ liệu nà thường
chứa mô tả của các cảnh báo, và một con trỏ chỉ đến dữ liệu bất thường. Nói chung,
kích thước của dữ liệu cảnh báo thường rất nhỏ, có khi chỉ là con trỏ chỉ đến dữ
liệu khác. Việc phân tích NSM thường dựa trên các thế hệ của dữ liệu cảnh báo.
21. Báo cáo thực tập tốt nghiệp Chương III. Xây dựng công cụ
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 16
CHƯƠNG III. XÂY DỰNG CÔNG CỤ BẮT VÀ
PHÂN TÍCH GÓI TIN
3.1. Thư viện Pyshark
3.1.1. Pyshark
Là thư viện của python dùng cho tshark, cho phép python sử dụng các trình
phân tích của wireshark.
Pyshark cho phép phân tích từ một file capture có sẵn hoặc là bắt gói một cách trực
tiếp.
- Cài đặt:
pip install pyshark
Hoặc cài đặt từ git repository:
git clone https://github.com/KimiNewt/pyshark.git
cd pyshark/src
python setup.py install
- Cấu trúc của thư viện pyshark:
Hình 14. Cấu trúc thư viện pyshark.
22. Báo cáo thực tập tốt nghiệp Chương III. Xây dựng công cụ
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 17
3.1.2. Pyshark – FileCapture, LiveCapture module
LiveCapture là module của pyshark cung cấp để thực hiện lắng nghe và bắt
gói tin từ một network interface trên máy cục bộ.
FileCapture cho phép load các gói tin từ file bắt gói đã được lưu trước đó.
- LiveCapture bắt gói như thế nào:
Khi người dùng sử dụng LiveCapture để bắt gói, như sau:
Phương thức sniff trong module LiveCapture:
Phương thức này gọi đến load_packets (dùng để đọc các packets từ source như
cap, interface… và thêm chúng vào trong list kết quả) trong module Capture mà
LiveCapture kế thừa.
Load_packets lấy dữ liệu từ phương thức packets_from_tshark nơi mà tại đây,
tiến trình tshark được tạo ra, đồng thời đọc các parameters mà ngừi dùng nhập vào.
Sau đó, kết quả sẽ được trả về, xử lý và hiển thị cho người dùng.
- Các parameters của cả hai module:
Interface (LiveCapture only): Tên của interface sẽ thực hiện nắng nghe gói tin,
nếu bỏ trống, sẽ lấy giá trị đầu tiên.
bpf_filter (LiveCapture only): Một BPF (tcpdump) lọc trước khi thực hiện đọc.
input_file (FileCapture only): Tên file PCAP hoặc PCAPNG sẽ được tạo ra để
lưu dữ liệu bắt được.
keep_packets: Không giữ lại packets sau khi đọc bằng next().
display_filter: Thực hiện cơ chế lọc (wireshark) trước khi đọc.
only_summaries: Chỉ lưu những thông tin sơ lược của packet.
decryption_key: Optional key used to encrypt and decrypt captured traffic.
23. Báo cáo thực tập tốt nghiệp Chương III. Xây dựng công cụ
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 18
encryption_type: Standard of encryption used in captured traffic (must be either
‘WEP’, ‘WPA-PWD’, or ‘WPA-PWK’. Defaults to WPA-PWK).
3.2. Xây dựng công cụ bắt và phân tíchgói tindựa trên pyshark
3.2.1. Xây dựng giao diện
- Ngôn ngữ được chọn là HTML/ CSS / Javascript.
- Lý do: Công cụ bắt gói tin được chạy dưới nền web là một ý tưởng rất tốt. Cho
phép chúng ta có thể bắt và phân tích gói tin dù không ngồi trực tiếp trên máy
local.
Đồng thời, nó còn đóng vai trò như một phương tiện để tấn công. Bởi vì,
theo chúng ta biết một số các phần mềm bắt gói tin như Wireshark, TCPDump thì
yêu cầu quyền admin (root) để có thể thực hiện.
Nhưng với pyshark trên python, ta có thể bắt gói tin dù đang là user www-data.
Ngoài ra, ngôn ngữ HTML/CSS/Javascript dễ dàng tuỳ biến theo sở thích của cá
nhân người sở hữu nó.
Hình 15. Giao diện
3.2.2. Cấu trúc công cụ
- Ngôn ngữ: PHP, Python:
PHP là ngôn ngữ server side, xử lý các request, các params người dùng
truyền vào dưới dạng HTTP.
Python là ngôn ngữ để bắt gói và phân tích gói tin.
- Hoạt động:
24. Báo cáo thực tập tốt nghiệp Chương III. Xây dựng công cụ
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 19
Hình 16. Sơ đồ hoạt động của công cụ.
- Danh sách chức năng:
Chức năng Gọi chức năng Yêu cầu dữ liệu Kết quả
Đăng nhập
(Có đăng
xuất)
- Khi đăng nhập
website lần đầu.
- Khi session hết hạn.
- Username:
Chỉ chấp nhận
admin.
- Password:
Mật khẩu của
admin là
th#uTap_dnv
Cho phép sử dụng
các chức năng
sau.
Bắt gói tin - Nhấn vào Bắt Gói
trên menu (phía bên
trái của website)
- Interface:
Interface mà bạn
muốn lắng nghe
dữ liệu.
- File save as:
Sau khi bắt gói, dữ
liệu sẽ được lưu
trong file này.
- Loại bắt gói:
+ Bắt theo thời
gian (Ngắt sau một
khoảng thời gian).
+ Bắt theo số gói
(Ngắt sau khi bắt
đủ số gói cung
cấp).
- Đơn vị:
+ Số giây khi bắt
theo thời gian.
- Hiển thị lên kết
quả bắt được dưới
dạng rút gọn.
- Xem chi tiết gói
tin bằng cách
nhấn vào gói
muốn xem.
- Lọc gói bằng
cách nhấn vào nút
filter (gói trên
cùng bên phải).
- Dữ liệu được
lưu dưới dạng file
pcap.
25. Báo cáo thực tập tốt nghiệp Chương III. Xây dựng công cụ
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 20
+ Số gói khi bắt
theo số gói.
Bắt gói tin
theo giao thức
- Nhấn vào Bắt Gói
Tin Theo Giao Thức
trên thanh menu.
- Giống bắt gói tin.
- Thêm: Giao thức.
- Giống bắt gói
tin.
Upload file - Nhấn vào Mở File.
- Sau đó chọn Upload
file.
- File dữ liệu bắt
gói (có đuôi dạng
pcap cap pcapng).
Dạng dữ liệu khác
không được chấp
nhận.
File được tải lên
server để có thể
mở file.
Mở file - Nhấn vào Mở File.
- Sau đó chọn Mở file.
- File đã được
upload trên server.
- File đã được lưu
trước đó thông qua
chức năng Bắt gói.
- Hiển thị lên kết
quả bắt được dưới
dạng rút gọn.
- Xem chi tiết gói
tin bằng cách
nhấn vào gói
muốn xem.
- Lọc gói bằng
cách nhấn vào nút
filter (gói trên
cùng bên phải).
Thống kê - Nhấn vào Thống Kê
trên thanh menu.
- Nhấn vào xem thống
kê trên tiêu đề Packet
Data.
Cần thực hiện bắt
gói tin hoặc mở
file trước đó.
Hiển thị thông tin
thống kê về file
pcap.
Lọc - Nhấn vào nút Filter
trên bảng Capture
Data.
- Nhập vào các từ
bạn muốn filter
chính xác bên dưới
trùng với.
- Sẽ lọc dữ liệu và
hiển thị ra dữ liệu
trùng với input
người dùng nhập
vào.
26. Báo cáo thực tập tốt nghiệp Chương III. Xây dựng công cụ
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 21
3.2.3. Class packet
Mỗi gói tin được xem là một đối tượng packet. Có cấu trúc như sau:
3.2.4. Chức năng bắt gói tin
- Code để tìm các interface trên máy local:
=> Hiển thị ra người dùng có thể chọn interface bắt gói.
- Code Python để xử lý phần bắt gói:
+ Nhận các dữ liệu từ người dùng thông qua sys.argv .
+ In ra các gói tin có trong dữ liệu thu được.
27. Báo cáo thực tập tốt nghiệp Chương III. Xây dựng công cụ
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 22
- Sau khi xử lý các input của người thông qua $_GET, ta truyền chúng vào chương
trình python, xử lý biến kết quả, để tạo thành mảng các packet:
=> Sau đó hiển thị thông tin ra cho người dùng qua mảng $all_data.
*Lưu ý: Chức năng bắt gói thêm giao thức có sử dụng thêm param
display_filter=input_protocol trongcode Python.
3.2.5. Chức năng mở file
- Code python để mở file pcap (openfile.py):
- Sau khi xử lý các input của người dùng thông qua $_GET, ta truyền vào chương
trình openfile.py, nhận kết quả và xử lý:
=> Hiển thị dữ liệu của mảng $all_data ra màn hình người dùng.
2.6. Chức năng thống kê
- Code python để thông kê dữ liệu trong file (phantich.py):
28. Báo cáo thực tập tốt nghiệp Chương III. Xây dựng công cụ
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 23
- Dùng PHP đọc kết quả của file cần thống kê, sau đó phân tích và in ra những dữ
liệu mong muốn.
3.3. Kết quả
3.3.1. Hiển thị dữ liệumô tả gói tin
Dữ liệu phiên mô tả những thuộc tính cơ bản nhất của 1 gói tin để người theo dõi
dễ giám sát. Nó bao các thông tin như địa chỉ nguồn, địa chỉ đích, port nguồn, port đích và
giao thức.
Từ đó, người theo dõi có thể đánh giá sơ bộ về quá trình hoạt động của mạng. Từ đó mới
tiếp cận đến những dữ liệu phức tạp (dữ liệu đầy đủ) vì những dữ liệu này cần phân tích
sâu và tốn nhiều thời gian hơn.
29. Báo cáo thực tập tốt nghiệp Chương III. Xây dựng công cụ
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 24
3.3.2. Hiển thị dữ liệuchi tiết của gói tin
Đây là dữ liệu đầy đủ của gói tin.
3.3.3. Hiển thị dữ liệuthống kê
Thông tin thống kê về file
Thông tin thống kê về thời gian
Thông tin thống kê về các giao thức
30. Báo cáo thực tập tốt nghiệp Tài liệu tham khảo
Đoàn Ngọc Vương – D14CQAT01-N P a g e | 25
TÀI LIỆU THAM KHẢO
[1] Source pyshark library for python https://github.com/KimiNewt/pyshark
[2] Richard Bejtlich, The Practice of Network Security Monitoring, No Starch Press,
2013.
[3] Wireshark: https://www.wireshark.org/docs/
[4] Python: https://www.python.org/