V. Yêu cầu1. Sửa lại file nkmod.c để hook chỉ DROP các gói tin UDP (8đ)Gợi ý: sử dụng nkmod_udp(student)Dùng hàm skb_network_header() để lấy thông tin headerDùng ip_header>protocol== để lấy thông tin protocol sử dụng trong gói tin để kiểm tra protocol có phải UDP hay khôngProtocol code tham khảo ở đây:http:www.iana.orgassignmentsprotocolnumbersprotocolnumbers.xhtmlStruct của IP header, TCPUDP header tham khảo trong các file sau của linux source codeip.h, tcp.h, udp.hSau khi chỉnh sửa xong build và sử dụng lệnh insmod để cài đặt vào kernelTest connection UDP Trên máy Ubuntu start UDP server bằng lệnh:iperf –s –u –i 1Máy còn lại hoặc ngay máy Ubuntu (ip → localhost) start UDP client để kết nối tới máy Ubuntu bằng lệnh:iperf –c u Test TCP connection ở port 80 :Trên máy Ubuntu start UDP server bằng lệnh:iperf –s –i 1 p 80Máy còn lại start UDP client để kết nối tới máy Ubuntu bằng lệnh:iperf –c p 80 2. Tìm hiểu và chỉnh sửa lại hook theo các yêu cầu sau:a. DROP các packet có source IP đến từ 192.168.x.10 , ACCEPT tất cả (1đ)Sử dụng cách sau để parse kiểu uint32_t của iphdr>saddr qua char arraychar sipaddr16;char target16=192.168.146.129;snprintf(sipaddr, 16, %pI4, ip_header>saddr);Sử dụng memcmp để so sánhmemcmp(sipaddr,target, sizeof(sipaddr)b. DROP các packet đi đến địa chỉ Port đích là 80. (+1đ)c. Chỉ cho phép các gói tin đi đến địa chỉ 118.69.123.142 (uit.edu.vn) đi ra ngoài, DROP tất cả còn lại (+2đ)Lưu ý: từng câu làm được sẽ được cộng thêm số điểm tương đương, lưu ý làm xong phải có bước kiểm tra lại kết quả bằng iperf hoặc lệnh ping
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG
MÔN HỌC
HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY
BÁO CÁO BÀI THỰC HÀNH SỐ 4
TP HCM, ngày 30, tháng 11, năm 2020
Trang 2III Yêu cầu
Cài đặt
Trang 3Câu 1 Sửa lại file nkmod.c để hook chỉ DROP các gói tin UDP (8đ)
Sau khi gọi kernel
Trang 4Thực hiện ping bên máy còn lại
Trang 5Test connection UDP
Câu 2 Tìm hiểu và chỉnh sửa lại hook theo các yêu cầu sau:
a DROP các packet có source IP đến từ 192.168.x.10 , ACCEPT tất cả (+1đ)
Trước khi gọi kernel ping thành công tới máy ubuntu 192.168.111.129
Drop ip 192.168.111.10
Trang 6b DROP các packet đi đến địa chỉ Port đích là 80 (+1đ)
Trang 7Trước khi gọi kernel
Trang 8Sau khi gọi kernel
Trang 9c Chỉ cho phép các gói tin đi đến địa chỉ 118.69.123.142 (uit.edu.vn) đi ra ngoài, DROP tất cả còn lại (+2đ)