TAILIEUCHUNG - Hướng dẫn viết một chương trình Sniffer

Bài này mình hướng dẫn các bạn viết một sniffer (nghe lén) packet đơn giản trên Windows. Để lập trình được thì cần các bạn hiểu rõ cách lập trình socket trong ngôn ngữ C. Với cách lập trình socket thông thường chúng ta sử dụng SOCK_STREAM, SOCK_DGRAM tức lập trình ở mức Application của mạng mà thôi, để lập trình ở mức IP (tức tầng Network trong 4 tầng của Internet: Tầng vật lý -- Tầng Ip-- Tầng TCP -- Tầng ứng dụng) sử dụng SOCK_RAW là một dạng socket "thô" Điều đầu tiên bao giờ chúng ta cũng. | Hướng dẫn viết một chương trình Sniffer Bài này mình hướng dẫn các bạn viết một sniffer nghe lén packet đơn giản trên Windows. Để lập trình được thì cần các bạn hiểu rõ cách lập trình socket trong ngôn ngữ C. Với cách lập trình socket thông thường chúng ta sử dụng SOCK_STREAM SOCK_DGRAM tức lập trình ở mức Application của mạng mà thôi để lập trình ở mức IP tức tầng Network trong 4 tầng của Internet Tầng vật lý -- Tầng Ip-- Tầng TCP -- Tầng ứng dụng sử dụng SOCK_RAW là một dạng socket thô Điều đầu tiên bao giờ chúng ta cũng phải khởi tạo thư viện Winsocket Hàm khởi tạo thư viện như sau Code void InitWinSock __ WSADATA wsaData if WSAStartup MAKEWORD 1 1 wsaData 0 return Chi tiết hàm WSAStartup có thể xem trợ giúp của MSDN . Cách tạo một Raw Socket như sau Code int CreateRawSocket int sock if sock WSASocket AF_INET SOCK_RAW 0 NULL NULL WSA_FLAG_OVERLAPPED INVALID_SOCKET return 0 return sock Hàm trên trả về một sock mới nếu như không gặp lỗi Như chúng ta đã biết mô hình mạng Internet được phân chia thành 4 tầng Tầng vật lý -- Tầng Ip -- Tầng TCP -- Tầng ứng dụng tương ứng với 7 tầng của mô hình OSI Tầng vật lý -- Tầng liên kết -- Tầng mạng -- Tầng vận chuyển -- Tầng phiên Tầng trình diễn -- Tầng ứng dụng . Mình khỏi phải nhắc lại mô hình OSI như thế nào vì có rất nhiều bài viết trong diễn đàn đã nói đến OSI Giới thiệu cấu trúc của gói IP TCP ICMP a. Gói IP ở tầng IP Định nghĩa một struct mô tả gói IP Code struct ip_hdr unsigned char ver_ihl -- Version 4 bits Internet Header Length 4 bits unsigned char tos -- Type Of Service unsigned short tol_len -- Total Length Ip Header TCP Header Data unsigned short id -- Identification unsigned short offset -- Frame Offset trong đó 8 bits cho flags unsigned char ttl -- Time to Live unsigned char protocol -- Protocol unsigned short checksum -- Header Checksum unsigned int saddr -- Source Address unsigned int daddr -- Destination Address b. Gói TCP Định nghĩa một struct mô tả gói TCP Code struct tcp_hdr unsigned short sport --

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.