Luận văn: Phát hiện xâm nhập theo thời gian thực trong internetDịch vụ viết bài trọn gói ZALO 0917193864Nhậ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 thạc sĩ ngành công nghệ thông tin với đề tài: Phát hiện xâm nhập theo thời gian thực trong mạng internet của vạn vật, cho các bạn làm luận văn tham khảo
Đề tài: Phần mềm quản lý thông tin sinh viên, HOT, 9đDịch vụ viết bài trọn gói ZALO 0917193864Nhậ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
Đề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đDịch vụ viết bài trọn gói ZALO: 0909232620 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
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng PythonBeezoGiá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.
Ứng dụng chát realtime androidNguyen ThieuBài tập lớn project 1.
Code và hướng dẫn chi tiết có thể xem tại đây.
https://drive.google.com/file/d/0B0gRRELQqRA8VTY4aGZWNmJsMms/view?usp=sharing
Đề tài: Tìm hiểu giải pháp an ninh mạng với firewall, HAY, 9đDịch vụ viết bài trọn gói ZALO 0917193864Nhậ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
An ninh trong he thong tong tinHuynh MVT- The document discusses various forms of attacks on information systems such as denial of service attacks, distributed denial of service attacks, spoofing attacks, man-in-the-middle attacks, replay attacks, sniffing attacks, and password attacks.
- It also presents some countermeasures against such attacks like firewalls, intrusion detection systems, authentication, auditing, and encryption.
- Symmetric key encryption models and requirements for information systems using symmetric key encryption are described, including the use of a secret key that must be kept private between the sender and receiver.
[Báo cáo] Bài tập lớn Cơ sở truyền số liệuThe Nguyen ManhBáo cáo Bài tập lớn môn Cơ sở truyền số liệu
Đề tài: Kiểm tra thuật toán điều khiển luồng sử dụng TCP
Đề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đDịch vụ viết bài trọn gói ZALO: 0909232620 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
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng PythonBeezoGiá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.
Ứng dụng chát realtime androidNguyen ThieuBài tập lớn project 1.
Code và hướng dẫn chi tiết có thể xem tại đây.
https://drive.google.com/file/d/0B0gRRELQqRA8VTY4aGZWNmJsMms/view?usp=sharing
Đề tài: Tìm hiểu giải pháp an ninh mạng với firewall, HAY, 9đDịch vụ viết bài trọn gói ZALO 0917193864Nhậ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
An ninh trong he thong tong tinHuynh MVT- The document discusses various forms of attacks on information systems such as denial of service attacks, distributed denial of service attacks, spoofing attacks, man-in-the-middle attacks, replay attacks, sniffing attacks, and password attacks.
- It also presents some countermeasures against such attacks like firewalls, intrusion detection systems, authentication, auditing, and encryption.
- Symmetric key encryption models and requirements for information systems using symmetric key encryption are described, including the use of a secret key that must be kept private between the sender and receiver.
[Báo cáo] Bài tập lớn Cơ sở truyền số liệuThe Nguyen ManhBáo cáo Bài tập lớn môn Cơ sở truyền số liệu
Đề tài: Kiểm tra thuật toán điều khiển luồng sử dụng TCP
Thiết kế đồng hồ thời gian thực sử dụng DS1307, hiển thị trên 6 Led 7 thanh v...Thư Viện SốThiết kế đồng hồ thời gian thực sử dụng DS1307, hiển thị trên 6 Led 7 thanh với các chế độ: Hiển thị thời gian, cài đặt giờ và cài đặt báo thức
Download tại: http://thuvienso.vn/luan-van/thiet-ke-dong-ho-thoi-gian-thuc-su-dung-ds130-hien-thi-tren-led-thanh-voi-cac-che-do-hien-thi-thoi-gian-cai-dat-gio-va-cai-dat-bao-thuc.154.html
Hệ thống nhúng cho ứng dụng giải trí thời gian thực trên AndroidDịch vụ viết bài trọn gói ZALO 0917193864Nhậ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
ch01.pptPhong BuinhuChapter 1: Computer Networks and the Internet
Chapter 2: Application Layer
Chapter 3: Transport Layer
Chapter 4: Network Layer
Chapter 5: The Link Layer and Local Area Network
Data Link
Chapter 6: Wireless and Mobile Networks
Chapter 7: Multimedia Networking
Chapter 8: Security in Computer Networks
Chapter 9: Network Management
Phap luat chinh sach ATTT - ITSMPhạm Trung ĐứcBai tap lon tim hieu ve ITSM cua mon hoc Phap luat va chinh sach ATTT cua nhom 05 tai Hoc Vien Cong nghe Buu chinh Vien thong PTIT
Đường lối của Đảng xây dựng văn hóa thời kì Đổi mớiPhạm Trung ĐứcTrình bày về đường lối xây dựng phát triển văn hóa của Đảng Cộng Sản Việt Nam trong thời kì đổi mới 1986
1. 1
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------
Bài tập lớn Giám sát an toàn mạng
Lập trình bắt và phân tích gói tin bằng Python
Giảng viên: Nguyễn Ngọc Điệp
Nhóm sinh viên: Nguyễn Duy Tú Anh – B13DCAT048
Ngô Đức Bắc – B13DCAT003
Phạm Trung Đức – B13DCAT056
Nguyễn Quốc Hoàn – B13DCAT057
Nguyễn Minh Ngọc – B13DCAT034
Tên lớp: Nhóm 2 – học sáng thứ sáu.
Hà nội, ngày 3 tháng 5 năm 2017
2. 2
Mục lục
DANH MỤC CÁC CHỮ VIẾT TẮT........................................................................3
DANH SÁCH CÁC BẢNG........................................................................................4
DANH SÁCH HÌNH VẼ............................................................................................5
Chương 1 – Tổng quan về lí thuyết giao thức..........................................................6
1.1 Dẫn chương: ..................................................................................................6
1.2 UDP Header...................................................................................................6
1.3 TCP Header...................................................................................................7
1.4 IP Header.....................................................................................................12
1.5 Ethernet Header..........................................................................................15
Chương 2 – Tổng quan về kĩ thuật .........................................................................16
2.1 Dẫn chương: ................................................................................................16
2.2 Giới thiệu về Python ...................................................................................16
2.3 Lập trình bắt và phân tích các gói tin.......................................................17
2.3.1 Hàm phân tích gói tin giao thức UDP:...................................................18
2.3.2 Hàm phân tích gói tin giao thức TCP: ...................................................18
2.3.3 Hàm phân tích gói tin giao thức IP: .......................................................18
2.3.4 Hàm phân tích gói tin giao thức Ethernet: .............................................19
Chương 3 – Lập trình việc phân tích và bắt gói tin bằng Python........................20
3.1 Dẫn chương: ................................................................................................20
3.2 Chương trình đầy đủ:.................................................................................20
3.3 Ứng dụng thực tế.........................................................................................26
Danh mục tài liệu tham khảo...................................................................................31
3. 3
DANH MỤC CÁC CHỮ VIẾT TẮT
Viết tắt Ý nghĩa
UDP User Datagram Protocol
TCP Transmision Control Protocol
IP Internet Protocol
URG Urgent Pointer field significant
ACK Acknowledgment field significant
PSH Push Function
RST Reset the connection
SYN Synchronize sequence numbers
4. 4
DANH SÁCH CÁC BẢNG
Trang
Bảng 1.1: Phân tích các thành phần của header trong giao thức
UDP
7
Bảng 1.2: Phân tích các thành phần của header trong giao thức
TCP
9
Bảng 1.3: Phân tích các thành phần của header trong giao thức
IP
12
Bảng 2.1: Các thư viện sử dụng trong chương trình Python. 15
Bảng 2.2: Quy đổi các giá trị trong thư viện Struct của ngôn ngữ
Python
16
5. 5
DANH SÁCH HÌNH VẼ
Trang
Hình 1.1: Các thành phần của header trong gói tin giao thức
UDP
7
Hình 1.2: Các thành phần header trong gói tin giao thức TCP 7
Hình 1.3: Minh họa các thành phần của header giao thức IP. 8
Hình 1.4: Minh họa thành phần header giao thức IP. 9
Hình 2.1: Số thứ tự chỉ định hai thức UDP và TCP. 10
Hình 2.2: Hàm phân tích giao thức UDP 12
Hình 2.3: Hàm phân tích giao thức TCP 16
Hình 2.4: Hàm phân tích giao thức IP 17
Hình 2.5: Hàm phân tích giao thức Ethernet 18
Hình 3.1: Chương trình PacketSniffer.py bắt gói tin UDP 25
Hình 3.2: Chương trình PacketSniffer.py bắt gói tin TCP 26
Hình 3.3: Chương trình PacketSniffer.py bắt gói tin UDP. 27
Hình 3.4: Chương trình PacketSniffer.py bắt gói tin TCP. 28
Hình 3.5: Chương trình PacketSniffer.py bắt gói tin UDP. 29
6. 6
Chương 1 – Tổng quan về lí thuyết giao thức
1.1 Dẫn chương:
Trong chương đầu tiên, chúng ta sẽ tìm hiểu, sơ lược về lí thuyết các
header của gói tin giao thức UDP, TCP, IP và Ethernet. Các kiến thức được
súc tích, gói gọn, nhằm đặt nền tảng vững chắc cho chương hai khi phân tích
cách lập trình bắt nội dung gói tin.
1.2 UDP Header
Giao thức User Datagram Protocol (UDP) là giao thức cung cấp gói tin
datagram cho việc giao tiếp giữa các máy tính chuyển mạch trong môi
trường của một tập hợp các mạng máy tính kết nối. Giao thức này giả định
rằng Internet Protocol (IP) được sử dụng làm giao thức cơ bản.
Giao thức này cung cấp một thủ tục cho các chương trình ứng dụng để
gửi tin nhắn đến các chương trình khác với cơ chế giao thức tối thiểu. Giao
thức có hướng giao dịch, và truyền tin và bảo vệ bản sao không được đảm
bảo. Các ứng dụng đòi hỏi yêu cầu phân phối luồng dữ liệu đáng tin cậy
theo yêu cầu nên sử dụng TCP Control Protocol.
Hình 1.1: Các thành phần của header trong gói tin giao thức UDP
Dựa trên hình minh họa 1.1, header của gói tin trong giao thức UDP
được phân tích như sau:
7. 7
STT
Tên thành
phần
Độ dài
thành
phần
Đặc điểm, chức năng
1 Source Port 16 bits
Là một trường tùy chọn, khi có ý nghĩa, nó
cho biết cổng của quá trình gửi, và có thể
được giả định là cổng mà một trả lời nên
được giải quyết trong trường hợp không có
bất kỳ thông tin khác. Nếu không được sử
dụng, một giá trị bằng không được chèn vào.
2
Destination
Port
16 bits
Có ý nghĩa trong ngữ cảnh của một địa chỉ
đích đến của Internet cụ thể.
3 Length 16 bits
Chiều dài là độ dài theo octet của gói tin
người dùng này bao gồm tiêu đề và dữ liệu
này. (Điều này có nghĩa là giá trị tối thiểu của
chiều dài là tám).
4 Checksum 16 bits
Checksum là phần bổ sung của một phần của
tiêu đề giả của thông tin từ tiêu đề IP, phần
đầu UDP và dữ liệu, đệm với octet không ở
cuối (nếu cần) để tạo ra một bội số của hai
octet .
Bảng 1.1: Phân tích các thành phần của header trong giao thức UDP
1.3 TCP Header
TCP là một giao thức tin cậy định hướng kết nối, đầu cuối được thiết kế
để phù hợp với một hệ thống phân cấp các giao thức có hỗ trợ các ứng dụng
đa mạng.
TCP cung cấp giao tiếp giữa quá trình đáng tin cậy giữa các cặp quy
trình trong các máy chủ lưu trữ gắn với các mạng truyền thông máy tính riêng
biệt nhưng kết nối với nhau. Rất ít giả định được thực hiện đối với độ tin cậy
của các giao thức truyền thông dưới lớp TCP.
TCP giả sử nó có thể có được một dịch vụ datagram đơn giản, không
đáng tin cậy từ các giao thức cấp thấp hơn. Về nguyên tắc, TCP nên có khả
8. 8
năng hoạt động trên nhiều hệ thống truyền thông khác nhau, từ các kết nối
cứng đến các mạng chuyển mạch gói hoặc mạng chuyển mạch.
Các phân đoạn TCP được gửi dưới dạng các gói tin internet. Tiêu đề
Giao thức Internet chứa nhiều trường thông tin, bao gồm cả địa chỉ nguồn và
đích. Một tiêu đề TCP đi theo tiêu đề internet, cung cấp thông tin cụ thể cho
giao thức TCP. Bộ phận này cho phép tồn tại các giao thức mức lưu trữ khác
với TCP.
Hình 1.2: Các thành phần header trong gói tin giao thức TCP
9. 9
Dựa trên hình minh họa, header của gói tin trong giao thức TCP được
phân tích như sau:
Bảng 1.2: Phân tích các thành phần của header trong giao thức TCP
STT Tên thành phần
Độ
dài
thành
phần
Đặc điểm chức năng
1 Source Port
16
bits
Số cổng nguồn
2 Destination Port
16
bits
Số cổng đích
3 Sequence number
32
bits
Số thứ tự của octet dữ liệu đầu tiên
trong phân đoạn này (trừ khi có
SYN). Nếu SYN có mặt, số thứ tự
là số thứ tự ban đầu (ISN) và octet
dữ liệu đầu tiên là ISN + 1.
4
Acknowledgment
Number 32
bits
Nếu bit điều khiển ACK được thiết
lập, trường này chứa giá trị của số
thứ tự tiếp theo mà người gửi của
phân đoạn này mong đợi nhận.
Một khi kết nối được thiết lập,
điều này luôn được gửi.
5 Data offset 4 bits
Số lượng các từ 32 bit trong Tiêu
đề TCP, cho biết nơi dữ liệu bắt
đầu. Tiêu đề TCP (ngay cả một
bao gồm các tùy chọn) là một số
không tách rời dài 32 bit.
10. 10
6 Reserved 6 bits
Mục đích của nó là để sử dụng cho
tương lai, giá trị phải là 0.
7 Control bit 6 bits
Từ trái sang phải:
URG: Trường con trỏ khẩn
cấp
ACK: Xác nhận các trường
đáng kể
PSH: Chức năng đẩy
RST: Đặt lại kết nối
SYN: Đồng bộ hóa số thứ
tự
FIN: Không có thêm dữ
liệu từ người gửi.
8 Window
16
bits
Số lượng octet dữ liệu bắt đầu với
số được chỉ ra trong trường xác
nhận mà người gửi của phân đoạn
này sẵn sàng chấp nhận.
9 Checksum
16
bits
Trường tổng kiểm tra là phần bổ
sung của bit 16 bit cho tổng số tất
cả các từ 16 bit trong tiêu đề và
văn bản. Nếu một phân đoạn chứa
một số lẻ của phần đầu và phần tử
văn bản được kiểm tra, thì octet
cuối cùng được thêm vào bên phải
bằng số không để tạo thành một từ
16 bit cho các mục đích kiểm tra.
Phần đệm không được truyền đi
như một phần của đoạn. Trong khi
tính tổng kiểm tra, trường kiểm tra
sẽ được thay thế bằng các số
không.
11. 11
Chiều dài TCP là chiều dài tiêu đề
TCP cộng với độ dài dữ liệu trong
octet (đây không phải là số lượng
truyền rõ ràng, nhưng được tính),
và nó không tính 12 octet của tiêu
đề giả.
10 Urgent Pointer
16
bits
Trường này truyền tải giá trị hiện
tại của con trỏ khẩn cấp như là
một số dương bù đắp từ số thứ tự
trong đoạn này. Con trỏ khẩn cấp
chỉ ra số thứ tự của octet sau dữ
liệu khẩn cấp. Trường này chỉ
được hiểu trong các phân đoạn với
thiết lập bit điều khiển URG.
11 Padding
Tùy
biến
Phần đệm tiêu đề TCP được sử
dụng để đảm bảo rằng tiêu đề TCP
kết thúc và dữ liệu bắt đầu trên
ranh giới 32 bit. Phần đệm bao
gồm các giá trị 0.
12. 12
1.4 IP Header
Hình 1.3: Minh họa các thành phần của header giao thức IP.
Dựa trên hình minh họa, header của gói tin trong giao thức IP được phân
tích như sau:
Bảng 1.3: Phân tích các thành phần của header trong giao thức IP
STT
Tên thành
phần
Độ dài
thành
phần
Đặc điểm
1 Version 4 bits
Trường Phiên bản chỉ định định dạng
của tiêu đề internet. Ví dụ như hiển
thị 6 thì giao thức của nó là TCP, hiển
thị 17 thì là UDP.
2
IHL
(Internet
Headers
Length)
4 bits
Chiều dài tiêu đề Internet là chiều dài
của tiêu đề internet bằng các từ 32 bit,
và do đó chỉ ra sự bắt đầu của dữ liệu.
Lưu ý rằng giá trị tối thiểu cho một
tiêu đề chính xác là 5
13. 13
3
Type of
Services
8 bits
Loại Dịch vụ cung cấp một chỉ dẫn về
các tham số trừu tượng về chất lượng
dịch vụ mong muốn. Các tham số này
sẽ được sử dụng để hướng dẫn lựa
chọn các tham số dịch vụ thực tế khi
truyền một gói tin thông qua một
mạng lưới cụ thể. Một số mạng cung
cấp dịch vụ ưu tiên, bằng cách nào đó
xử lý lưu lượng truy cập cao quan
trọng hơn các lưu lượng truy cập khác
(thông thường chỉ chấp nhận lưu
lượng truy cập trên một độ ưu tiên
nhất định tại thời điểm tải cao). Sự lựa
chọn chính là sự cân bằng ba chiều
giữa độ trễ thấp, độ tin cậy cao và
thông lượng cao.
4 Total Length 16 bits
Tổng chiều dài là độ dài của
datagram, được đo bằng octet, bao
gồm tiêu đề internet và dữ liệu.
Trường này cho phép độ dài của một
gói tin có thể lên tới 65.535 octet. Các
datagram dài như vậy là không thực tế
đối với hầu hết các máy chủ và mạng.
5 Identification 16 bits
Một giá trị nhận dạng được chỉ định
bởi người gửi để giúp lắp ráp các
mảnh của một gói tin.
6 Flags 3 bits
Các cờ điều khiển khác nhau.
Bit 0: dự trữ, phải bằng không
Bit 1: (DF) 0 = Có thể phân
mảnh, 1 = Không phân mảnh.
Bit 2: (MF) 0 = Đoạn cuối, 1 =
Các phân đoạn khác.
14. 14
7
Fragment
Offset
13 bits
Trường này cho biết trong datagram
đoạn này thuộc về datagram. Phần bù
đắp được đo bằng đơn vị 8 octet (64
bit). Đoạn đầu tiên đã được bù đắp
bằng không.
8 Time to Live 8 bits
Trường này cho biết thời gian tối đa
cho phép datagram được chấp nhận
trong hệ thống internet. Nếu trường
này chứa giá trị 0, thì gói tin đó phải
bị hủy. Trường này được sửa đổi
trong quá trình xử lý phần đầu
internet. Thời gian được đo bằng đơn
vị giây, nhưng vì mỗi mô-đun xử lý
một gói tin phải giảm TTL xuống ít
nhất một, thậm chí nếu nó xử lý gói
tin trong vòng chưa đầy một giây, thì
TTL phải được coi như là một giới
hạn trên trên Thời gian một datagram
có thể tồn tại. Mục đích là làm cho
các gói tin không gửi đi được sẽ bị
loại bỏ, và để ràng buộc datagram tối
đa.
9 Protocol 8 bits
Trường này cho biết giao thức mức
tiếp theo được sử dụng trong phần dữ
liệu của gói tin internet.
10
Header
Checksum
16 bits
Checksum chỉ trên tiêu đề. Do một số
trường tiêu đề thay đổi (ví dụ: Time to
live), tính năng này được tính lại và
xác minh tại mỗi điểm mà tiêu đề
internet được xử lý.
11
Source
Address
32 bits Địa chỉ nguồn
12
Destination
Address
32 bits Địa chỉ đích
15. 15
13 Options Tùy biến
14 Padding Tùy biến
Phần đệm Internet header được sử
dụng để đảm bảo đầu cuối của
internet header kết thúc trên ranh giới
32 bit. Phần đệm có giá trị 0.
1.5 Ethernet Header
Một khung Ethernet được nối trước bởi một dấu phân cách đầu và khung
bắt đầu frame (SFD), là một phần của gói Ethernet ở lớp vật lý. Mỗi khung
Ethernet bắt đầu với một tiêu đề Ethernet, chứa địa chỉ MAC đích và nguồn
như hai trường đầu tiên. Phần giữa của khung là dữ liệu tải trọng bao gồm các
tiêu đề cho các giao thức khác (ví dụ như Giao thức Internet) được thực hiện
trong khung. Khung kết thúc bằng một chuỗi kiểm tra khung (FCS), là kiểm
tra dự phòng chu kỳ 32 bit được sử dụng để phát hiện bất kỳ sự truyền dữ liệu
nào trong quá trình chuyển.
Hình 1.4: Minh họa thành phần header giao thức IP.
16. 16
Chương 2 – Tổng quan về kĩ thuật
2.1 Dẫn chương:
Trong chương hai của bài tiểu luận, chúng ta sẽ tìm hiểu về việc áp dụng
ngôn ngữ lập trình Python vào việc bắt và phân tích các gói tin.
2.2 Giới thiệu về Python
Phiên bản Python: Python 2.7.12+ [GCC 6.2.0 20160822] on linux2
Bảng 2.1: Các thư viện sử dụng trong chương trình Python.
STT
Tên thư
viện
Chức năng
1 Struct
Mô-đun này thực hiện chuyển đổi giữa các giá trị
Python và các cấu trúc C được biểu diễn dưới dạng
các chuỗi Python. Điều này có thể được sử dụng
trong việc xử lý dữ liệu nhị phân được lưu trữ trong
các tệp tin hoặc từ các kết nối mạng, trong số các
nguồn khác. Nó sử dụng định dạng chuỗi như mô tả
gọn gàng của cách bố trí của cấu trúc C và chuyển
đổi dự định đến / từ các giá trị Python.
2 Socket
Mô đun này cung cấp truy cập vào giao diện ổ cắm
BSD. Nó có sẵn trên tất cả các hệ thống Unix hiện
đại, Windows, Mac OS X, BeOS, OS / 2, và có lẽ
các nền tảng bổ sung.
3 Binascii
Mô-đun binascii chứa một số phương pháp để
chuyển đổi giữa các tập tin nhị phân và mã hóa
ASCII khác nhau.
4 OS, SYS
Mô-đun này cung cấp cách sử dụng chức năng hệ
điều hành phụ thuộc
5 Time
Mô-đun này dùng để dừng màn hình chương trình
trong một thời gian nhất định (Để tiện việc theo dõi
các gói tin)
17. 17
2.3 Lập trình bắt và phân tích các gói tin
Hình 2.1: Số thứ tự chỉ định hai thức UDP và TCP.
Bảng 2.2: Quy đổi các giá trị trong thư viện Struct của ngôn ngữ Python
Format C Type Python type Standard size
x pad byte no value
c char string of length 1 1
b signed char integer 1
B unsigned char integer 1
? _Bool bool 1
h short integer 2
H unsigned short integer 2
i int integer 4
I unsigned int integer 4
l long integer 4
L unsigned long integer 4
q long long integer 8
Q unsigned long long integer 8
f float float 4
d double float 8
s char[] string
p char[] string
P void * integer
18. 18
Lưu ý: Header field luôn sử dụng hàm giá trị unsign có giá trị dương.
2.3.1 Hàm phân tích gói tin giao thức UDP:
Hình 2.2: Hàm phân tích gói tin UDP
2.3.2 Hàm phân tích gói tin giao thức TCP:
Hình 2.3: Hàm phân tích giao thức TCP
2.3.3 Hàm phân tích gói tin giao thức IP:
19. 19
Hình 2.4: Hàm phân tích giao thức IP
2.3.4 Hàm phân tích gói tin giao thức Ethernet:
Hình 2.5: Hàm phân tích giao thức Ethernet
20. 20
Chương 3 – Lập trình việc phân tích và bắt gói
tin bằng Python
3.1 Dẫn chương:
Trong chương số ba của bài tiểu luận, chúng ta ứng dụng thực tế script
Python PacketSniffer.py vào thực tế.
3.2 Chương trình đầy đủ:
PacketSniffer.py
## Lap trinh phan tich va bat goi tin tren Python
import struct
import socket
import binascii
import os, sys
import time
def analyze_udp_header(data):
udp_hdr = struct.unpack("!4H", data[:8])
src_port = udp_hdr[0]
dst_port = udp_hdr[1]
length = udp_hdr[2]
chk_sum = udp_hdr[3]
data = data[8:]
print "!___________________UDP HEADER______________________!"
print "|ttSource:tt%hu" % src_port
print "|ttDest:tt%hu" % dst_port
print "|ttLength:tt%hu" % length
print "|ttChecksum:t%hu" % chk_sum
return data
25. 25
elif next_proto == "UDP":
data = analyze_udp_header(data)
else:
return
while True:
main()
26. 26
3.3 Ứng dụng thực tế
Thử chạy script PacketSniffer.py trên máy ảo Linux, ta được kết quả như
sau:
Hình 3.1: Chương trình PacketSniffer.py bắt gói tin UDP.