đồ án tốt nghiệp “xây dựng chương trình kiểm soát lưu lượng thông tin trao đổi qua hệ thống mạng”

85 424 0
đồ án tốt nghiệp “xây dựng chương trình kiểm soát lưu lượng thông tin trao đổi qua hệ thống mạng”

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trần Ngọc Việt – CNT46 ĐH 1 MỤC LỤC CHƯƠNG I. CƠ SỞ LÝ THUYẾT MẠNG MÁY TÍNH 5 1 Tổng Quan Hệ Thống Mạng TCP/IP Ethernet 5 1.1 Khái niệm mạng máy tính 5 1.2 Kiến trúc phân tầng 6 1.3 Mô hình OSI 9 1.3.1 Khái niệm 9 1.3.2 Mục đích 10 1.4 Phương thức hoạt động 11 1.4.1 Có kết nối (Connection Oriented) 11 1.4.2 Không kết nối (Connectionless) 12 1.5 Bộ giao thức TCP/IP 12 1.5.1 Khái niệm 12 1.5.2 Mục đích và nguồn gốc 13 1.5.3 Đặc điểm 14 1.6 So sánh TCP/IP và OSI 15 2 Bộ giao thức TCP/IP – Các giao thức và khuôn dạng dữ liệu chính 16 2.1 Cấu trúc phân tầng của TCP/IP 16 2.2 Đóng gói dữ liệu trong TCP/IP 17 2.3 Sơ lược chức năng các tầng 18 2.3.1 Tầng ứng dụng (Application Layer) 18 2.3.2 Tầng giao vận (Transport Layer) 18 2.3.3 Tầng Internet (Internet Layer) 18 2.3.4 Tầng liên kết (Link Layer) 19 2.4 Các giao thức chính và khuôn dạng dữ liệu tương ứng 19 2.4.1 Ethernet 19 2.4.2 ARP (address resolution protocol) 21 2.4.3 RARP (reserve address resolution protocol) 22 2.4.4 IP (internet protocol) 23 2.4.5 ICMP (internet control message protocol) 26 2.4.6 TCP (Transmission Control Protocol) 27 2.4.7 UDP (User Datagram Protocol) 29 2.4.8 HTTP (Hypertext Transfer Protocol) 30 2.4.9 DNS (Domain Name System) 31 CHƯƠNG II. KỸ THUẬT CHẶN BẮT 33 1 Tổng Quan Về Chặn Bắt Gói Tin (Sniffer) 33 1.1 Các khái niệm liên quan 33 1.2 Ứng dụng của sniffer 34 1.2.1 Khả năng 34 1.2.2 Mục đích 34 1.3 Các chương trình sniffer hiện có 35 2 Cách Thức Hoạt Động 35 2.1 Theo dõi Network Traffic 35 Trần Ngọc Việt – CNT46 ĐH 2 2.2 Phân tích Network Traffic 36 2.3 Các thành phần của một chương trình sniffer 38 2.4 Phòng chống sniffer 39 2.4.1 Phát hiện sniffer trong mạng 39 2.4.2 Ngăn chặn sniffer 40 2.4.3 Một số chương trình phát hiện sniffer 40 3 Các Phương Pháp Xây Dựng 41 3.1 Raw Socket – mức hệ điều hành 41 3.2 Pcap – mức network adapter 42 3.3 So sánh Raw Socket và Pcap 44 CHƯƠNG III. PHÂN TÍCH, LỰA CHỌN VÀ THIẾT KẾ GIẢI THUẬT 46 1 Chi Tiết Các Phương Pháp 46 1.1 Winsock 46 1.1.1 Khái niệm 46 1.1.2 Các sự kiện của Winsock 47 1.1.3 Loại Socket trong Winsock 47 1.1.4 Làm việc với Socket trong Winsock 47 1.2 .NET Socket 49 1.2.1 Khái niệm 49 1.2.2 Làm việc với .NET Socket 49 1.2.3 Demo 51 1.3 Winpcap 51 1.3.1 Khái niệm 51 1.3.2 Làm việc với Winpcap 52 2 Hướng Thực Hiện Chương Trình 54 2.1 Bắt gói tin 55 2.2 Tách phần header 55 2.3 Phân tích, tổng hợp header 55 2.4 Đưa vào cơ sở dữ liệu 56 2.5 Hiển thị, thống kê và báo cáo 57 3 Lựa chọn giải thuật 57 CHƯƠNG IV. XÂY DỰNG CHƯƠNG TRÌNH 59 1 Các Chức Năng Chính 59 2 Phân Tích Xây Dựng Các Chức Năng Chính 62 2.1 Hoạt động tổng quát 62 2.2 Chức năng đo lưu lượng. 63 2.2.1 Đo lưu lượng vào/ra trên máy cài đặt chương trình 63 2.2.2 Báo cáo thông tin lưu lượng 63 2.3 Bắt gói tin 64 2.4 Các thao tác với File 66 2.5 Giao diện (View) 67 2.6 Thống kê (Statistics) 67 2.6.1 Thống kê tích lũy (Cumulative) 67 Trần Ngọc Việt – CNT46 ĐH 3 2.6.2 Thống kê liên tục (Continous) 68 2.7 Quản lý mạng 68 2.7.1 Khóa mạng theo một luật mà người dùng lựa chọn 68 3 Giới Thiệu Chương Trình 69 3.1 Khởi động chương trình 69 3.2 Chức năng báo cáo 70 3.3 Chức năng bắt gói tin 70 3.4 Các thao tác với file 75 3.5 Chức năng di chuyển trên bảng dư liệu 76 3.6 Chức năng thống kê 76 3.6.1 Thống kê tích lũy (Cumulative Statistics) 77 3.6.2 Thống kê liên tục (Continous Statistics) 78 3.7 Ngăn chặn thông tin 79 3.8 Một số tính năng phụ 80 4 Nhược điểm và hướng phát triển 81 4.1 Nhược điểm 81 4.2 Hướng phát triển 82 Kết Luận 84 TÀI LIỆU THAM KHẢO 85 Trần Ngọc Việt – CNT46 ĐH 4 LỜI MỞ ĐẦU Ngày nay, mạng máy tính đã trở nên quen thuộc với mọi người trong xã hội. Cùng với sự phát triển của công nghệ thông tin và nhu cầu của con người, mạng máy tính cũng càng ngày càng mở rộng và trở thành một phần không thể thiếu của đời sống. Tuy nhiên, cùng với sự phát triển của mạng máy tính, rất nhiều vấn đề liên quan cũng được đặt ra đối với người sử dụng như lỗi đường truyền, virus, sự tấn công của hacker Để góp phần giải quyết những vấn đề này thì việc kiểm soát lượng thông tin vào ra mang một ý nghĩa khá quan trọng. Chính vì vậy em lựa chọn thực hiện đồ án tốt nghiệp là “Xây dựng chương trình kiểm soát lưu lượng thông tin trao đổi qua hệ thống mạng” nhằm mục đích cung cấp một công cụ hữu ích cho việc kiểm soát và học tập về mạng máy tính. Trong thời gian thực tập em xin chân thành cảm ơn các thầy cô giáo trong khoa Công nghệ thông tin trường Đại học Hàng Hải Việt Nam cùng các bạn trong tập thể lớp CNT46-ĐH và đặc biệt thầy Ngô Quốc Vinh đã giúp đỡ em trong quá trình thực hiện đồ án này. Hải Phòng tháng 12 năm 2009 Sinh viên: Trần Ngọc Việt Chương I. Cơ sở lý thuyết mạng máy tính Trần Ngọc Việt – CNT46 ĐH 5 CHƯƠNG I. CƠ SỞ LÝ THUYẾT MẠNG MÁY TÍNH Để xây dựng một chương trình quản lý, thống kê, kiểm soát lưu lượng thông tin, ta cần thực hiện chặn bắt các gói tin vào ra hệ thống mạng cũng như phân tích các gói tin thu được. (Packet Capture và Packet Analysis). Chương trình như vậy thường được gọi là Sniffer (Packet Analyzer). Để xây dựng được sniffer, ta cần có được hiểu biết cơ bản về mạng máy tính và các giao thức liên quan. Trong phạm vi của đề tài sẽ được thực hiện trên hệ điều hành Window và sử dụng bộ giao thức TCP/IP Ethernet nên trong phần này sẽ trình bày những vấn đề cơ bản nhất của mạng Ethernet. 1 Tổng Quan Hệ Thống Mạng TCP/IP Ethernet 1.1 Khái niệm mạng máy tính Từ những năm 1960 đã xuất hiện các mạng nối các máy tính và các Terminal để sử dụng chung nguồn tài nguyên, giảm chi phí khi muốn thông tin trao đổi số liệu và sử dụng trong công tác văn phòng một cách tiện lợi. Với việc tăng nhanh các máy tính mini và các máy tính cá nhân làm tăng yêu cầu truyền số liệu giưã các máy tính, giữa các terminal, và giữa các terminal với máy tính là một trong những động lực thúc đẩy sự ra đời và phát triển ngày càng mạnh mẽ các mạng máy tính.Quá trình hình thành mạng máy tính có thể tóm tắt qua các giai đoạn sau: Giai đoạn các terminal nối trực tiếp với máy tính: Đây là giai đoạn đầu tiên của mạng máy tính, để tận dụng công suất của máy tính người ta ghép nối các terminal vào một máy tính được gọi là các máy tính trung tâm. Giai đoạn các bộ tiền xử lý (Prontal) Ở giai đoạn 1 máy tính trung tâm quản lý truyền tin tới các terminal, ở giai đoạn 2 máy tính trung tâm quản lý truyền tin tới các bộ tập trung qua các bộ ghép nối điều khiển đường truyền. Ta có thể thay thế bộ ghép nối đường truyền bằng các máy tính nini gọi là prontal, đó chính là bộ tiền xử lý. Chương I. Cơ sở lý thuyết mạng máy tính Trần Ngọc Việt – CNT46 ĐH 6 Giai đoạn mạng máy tính: Vào những năm 1970 người ta bắt đầu xây dựng mạng truyền thông trong đó các thành phần chính của nó là các nút mạng gọi là bộ chuyển mạch dùng để hướng thông tin tới đích. Các mạng được nối với nhau bằng đường truyền còn các máy tính xử lý thông tin của người dùng hoặc các trạm cuối được nối trực tiếp vào các nút mạng để khi cần thì trao đổi thông tin qua mạng. Các nút mạng thương là máy tính nên đồng thời đóng vai trò của người sử dụng. Chức năng của nút mạng:  Quản lý truyền tin, quản lý mạng Như vậy các máy tính ghép nối với nhau hình thành mạng máy tính, ở đây ta thấy mạng truyền thông cũng ghép nối các máy tính với nhau nên khái niệm mạng maý tính và mạng truyền thông có thể không phân biệt. Việc hình thành mạng máy tính nhằm đạt các mục đích sau:  Tận dụng và làm tăng giá trị của tài nguyên  Chinh phục khoảng cách  Tăng chất lượng và hiệu quả khai thác và xử lý thông tin  Tăng độ tin cậy của hệ thống nhờ khả năng thay thế khi xảy ra sự cố đối với một máy tính nào đó. Như vậy: Mạng máy tính là tập hợp các máy tính được ghép với nhau bởi các đường truyền vật lý theo một kiến trúc nào đó. 1.2 Kiến trúc phân tầng Để giảm độ phức tạp trong thiết kế và cài đặt mạng, các mạng máy tính được tổ chức thiết kế theo kiểu phân tầng (layering). Trong hệ thống thành phần của mạng được tổ chức thành một cấu trúc đa tầng, mỗi tầng được xây dựng trên tầng trước đó; mỗi tầng sẽ cung cấp một số dịch vụ cho tầng cao hơn. Số lượng các tầng cũng như chức năng của mỗi tầng là tuỳ thuộc vào nhà thiết kế. Ví dụ cấu trúc phân tầng của mạng SNA của IBM, mạng DECnet của Digital, mạng ARPANET. là có sự Chương I. Cơ sở lý thuyết mạng máy tính Trần Ngọc Việt – CNT46 ĐH 7 khác nhau. Nguyên tắc cấu trúc của mạng phân tầng là: mỗi hệ thống trong một mạng đều có cấu trúc phân tầng (Số lượng tầng, chức năng của mỗi tầng là như nhau). Mục đích của mỗi tầng là để cung cấp một số dịch vụ nhất định cho tầng cao hơn. Tầng i của hệ thống A sẽ hội thoại với tầng i của hệ thống B, các quy tắc và quy ước dùng trong hội thoại gọi là giao thức mức I Giữa hai tầng kề nhau tồn tại một giao diện (interface) xác định các thao tác nguyên thuỷ của tầng dưới cung cấp lên tầng trên. Trong thực tế dữ liệu không truyền trực tiếp từ tầng i của hệ thống này sang tầng i của hệ thống khác ( trừ tầng thấp nhất trực tiếp sử dụng đường truyền vật lý để truyền các xâu bít (0.1) từ hệ thống này sang hệ thống khác ).Dữ liệu được truyền từ hệ thống gửi (sender) sang hệ thống nhận (receiver) bằng đường truyền vật lý và cứ như vậy dữ liệu lại đi ngược lên các tầng trên. Như vậy khi hai hệ thống liên kết với nhau, chỉ tầng thấp nhất mới có liên kết vật lý còn ở tầng cao hơn chỉ có liên kết logic (liên kết ảo ) được đưa vào để hình thức hoá các hoạt động của mạng thuận tiện cho việc thiết kế và cài đặt các phần mềm truyền thông. Như vậy để viết chương trình cho tầng N, phải biết tầng N+1 cần gì và tầng N -1 có thể làm được gì. Chương I. Cơ sở lý thuyết mạng máy tính Trần Ngọc Việt – CNT46 ĐH 8 Minh họa kiến trúc phân tầng tổng quát Nguyên tắc để xây dựng kiến trúc phân tầng như sau:  Để đơn giản cần hạn chế số lượng các tầng.  Tạo ranh giới các tầng sao cho các tương tác và mô tả các dịch vụ là tối thiểu.  Chia các tầng sao cho các chức năng khác nhau được tách biệt với nhau, và các tầng sử dụng các loại công nghệ khác nhau cũng được tách biệt.  Các chức năng giống nhau được đặt vào cùng một tầng.  Chọn ranh giới các tầng theo kinh nghiệm đã được chứng tỏ là thành công.  Các chức năng được định vị sao cho có thể thiết kế lại tầng mà ảnh hưởng ít nhất đến các tầng kế nó.  Tạo ranh giới giữa các tầng sao cho có thể chuẩn hóa giao diện tương ứng. Chương I. Cơ sở lý thuyết mạng máy tính Trần Ngọc Việt – CNT46 ĐH 9  Tạo một tầng khi dữ liệu được xử lý một cách khác biệt.  Cho phép thay đổi chức năng hoặc giao thức trong một tầng không làm ảnh hưởng đến các tầng khác.  Mỗi tầng chỉ có các ranh giới (giao diện) với các tầng kề trên và kề dưới nó.  Có thể chia một tầng thành các tầng con khi cần thiết.  Tạo tầng con để cho phép giao diện với các tầng kế cận.  Cho phép hủy bỏ các tầng con nếu thấy không cần thiết. 1.3 Mô hình OSI 1.3.1 Khái niệm Do các nhà thiết kế tự do lựa chọn kiến trúc mạng riêng của mình. Từ đó dẫn đến tình trạng không tương thích giữa các mạng về: Phương pháp truy nhập đường truyền khác nhau, họ giao thức khác nhau. sự không tương thích đó làm trở ngại cho quá trình tương tác giữa người dùng ở các mạng khác nhau. Nhu cầu trao đổi thông tin càng lớn thì trở ngại đó càng không thể chấp nhận được với người sử dụng. Với lý do đó tổ chức chuẩn hoá quốc tế ISO đã thành lập một tiểu ban nhằm xây dựng một khung chuẩn về kiến trúc mạng để làm căn cứ cho các nhà thiết kế và chế tạo các sản phẩm mạng. Kết quả là năm 1984 ISO đã đưa ra mô hình tham chiếu cho việc kết nối các hệ thống mở ( Reference Model for Open System Inter - connection) hay gọn hơn là OSI Reference model. Mô hình này được dùng làm cơ sở để kết nối các hệ thống mở. Chương I. Cơ sở lý thuyết mạng máy tính Trần Ngọc Việt – CNT46 ĐH 10 Mô hình OSI 1.3.2 Mục đích Mô hình OSI phân chia chức năng của một giao thức ra thành một chuỗi các tầng cấp. Mỗi một tầng cấp có một đặc tính là nó chỉ sử dụng chức năng của tầng dưới nó, đồng thời chỉ cho phép tầng trên sử dụng các chức năng của mình. Một hệ thống cài đặt các giao thức bao gồm một chuỗi các tầng nói trên được gọi là "chồng giao thức" (protocol stack). Chồng giao thức có thể được cài đặt trên phần cứng, hoặc phần mềm, hoặc là tổ hợp của cả hai. Thông thường thì chỉ có những tầng thấp hơn là được cài đặt trong phần cứng, còn những tầng khác được cài đặt trong phần mềm. Mô hình OSI này chỉ được ngành công nghiệp mạng và công nghệ thông tin tôn trọng một cách tương đối. Tính năng chính của nó là quy định về giao diện giữa các tầng cấp, tức qui định đặc tả về phương pháp các tầng liên lạc với nhau. Điều này có nghĩa là cho dù các tầng cấp được soạn thảo và thiết kế bởi các nhà sản xuất, hoặc công ty, khác nhau nhưng khi được lắp ráp lại, chúng sẽ làm việc một cách dung hòa (với giả thiết là các đặc tả được thấu đáo một cách đúng đắn Thường thì những phần thực thi của giao thức sẽ được sắp xếp theo tầng cấp, tương tự như đặc tả của giao thức đề ra, song bên cạnh đó, có những trường hợp ngoại lệ, [...]... để trao đổi thông tin là thực sự cần thiết Nhưng thật không may là hầu hết các mạng của các công ty, các cơ quan đều là các thực thể độc lập, được thiết lập để phục vụ nhu cầu trao đổi thông tin của bản thân các tổ chức đó Các mạng này có thể được xây dựng từ những kĩ thuật phần cứng khác nhau để phù hợp với những vấn đề giao tiếp thông tin của riêng họ Điều này chính là một cản trở cho việc xây dựng. .. dữ liệu được định dạng để lưu chuyển trên mạng  Network Traffic là lưu lượng thông tin vào/ra hệ thống mạng Để có thể đo đạc, kiểm soát Network Traffic ta cần phải chặn bắt các gói tin (Packet capture)  Packet capture là hành động chặn bắt các packet dữ liệu được lưu chuyển trên mạng Packet capture gồm có: o Deep Packet Capture (DPC): là hành động chặn bắt toàn bộ các gói tin trên mạng (bao gồm cả... dùng để kiểm tra bảo trì mạng và dạng kia dùng để xâm nhập mạng Chúng được sử dụng cho các mục đích:  Phân tích hiệu năng làm việc hoặc sự cố mạng  Nhận biết sự xâm nhập mạng, rò rỉ thông tin, lấy về thông tin liên quan tới quá trình xâm nhập  Quản lý sử dụng mạng  Tập hợp thông tin báo cáo về trạng thái mạng  Sửa lỗi, bảo trì các hình thái, giao thức mạng  Lọc lấy thông tin cần thiết được lưu chuyển... hợp để con người có thể đọc  Chặn bắt các thông tin nhạy cảm như mật khẩu, username của người dùng 34 Trần Ngọc Việt – CNT46 ĐH Chương II Kỹ thuật chặn bắt khác trên mạng nhằm xâm nhập hệ thống của họ 1.3 Các chương trình sniffer hiện có Hiện nay có rất nhiều chương trình miễn phí cũng như thương mại thực hiện việc chặn bắt và phân tích gói tin Một số chương trình trong đó như:  Tcpdump (http://www.tcpdump.org/)... tin trong một vấn đề  ANcount: Số lượng tài nguyên tham gia trong phần trả lời  NScount: Chỉ ra số lượng tài nguyên được ghi lại trong các phẩn có thẩm quyền của gói tin  ARcount: Chỉ ra số lượng tài nguyên ghi lại trong phần thêm vào của gói tin 32 Trần Ngọc Việt – CNT46 ĐH Chương II Kỹ thuật chặn bắt CHƯƠNG II KỸ THUẬT CHẶN BẮT 1 Tổng Quan Về Chặn Bắt Gói Tin (Sniffer) 1.1 Các khái niệm liên quan... chương trình ứng dụng lựa chọn một kiểu giao thức thích hợp cho công việc của nó Chương trình ứng dụng chuyển dữ liệu theo mẫu mà tầng giao vận yêu cầu 2.3.2 Tầng giao vận (Transport Layer) Nhiệm vụ trước tiên của tầng giao vận là cung cấp sự giao tiếp thông tin giữa các chương trình ứng dụng Mỗi sự giao tiếp được gọi là end-to-end Tầng giao vận cũng có thể điều chỉnh lưu lượng luồng thông tin Nó cũng... Oriented) Với phương thức có kết nối, quá trình truyền dữ liệu phải trải qua ba giai đoạn theo thứ tự thời gian  Thiết lập kết nối: hai thực thể đồng mức ở hai hệ thống thương lượng với nhau về tập các tham số sẽ được sử dụng trong giai đoạn sau  Truyền dữ liệu: dữ liệu được truyền với các cơ chế kiểm soát và quản lý  Huỷ bỏ kết nối (logic): giải phóng các tài nguyên hệ thống đã cấp phát cho liên kết để... Override, 011 - Flash, 010 - Immediate, 001 - Priority, 000 – Routine  D (Delay) (1 bit): chỉ độ trễ yêu cầu D = 0 nếu độ trễ bình thường, 1 nếu độ trễ thấp  T (Throughput) (1 bit): chỉ thông lượng yêu cầu T = 0 thông lượng bình thường, 1 nếu thông lượng cao  R (Reliability) (1bit) chỉ độ tin cậy yêu cầu R = 0 độ tin cậy bình thường, 1 nếu độ tin cậy cao  C (Cost) (1bit) chỉ hao phí C = 0 normal cost,... giao vận (transport layer) Chức năng của ICMP như sau:  Cung cấp thông báo phản hồi và trả lời để kiểm tra độ tin cậy của kết nối giữ hai trạm Điều này được thiết lập bởi câu lệnh PING (Packet internet gropher)  Địch hướng lại lưu lượng để cung cấp việc dẫn đường hiệu quả hơn khi một bộ dẫn đường quá tải dõ lưu lượng qua nó quá lớn  Gửi thông báo về thời gian quá khi datagram của trạm nguồn đã vượt... gói tin chặn bắt được sẽ được lưu trữ lại trong bộ nhớ tạm thời hoặc lâu dài o Deep Packet Inspection (DPI): là quá trình kiểm tra, đánh giá để tìm ra nguyên nhân của những vấn đề của mạng, xác định nguy cơ an toàn bảo mật, chắc chắn mạng hoạt động chính xác về kỹ thuật và luật pháp o DPC và DPI được kết hợp với nhau nhằm quản lý, đánh giá, phân tích sự luân chuyển các gói tin trên mạng đồng thời lưu . ra mang một ý nghĩa khá quan trọng. Chính vì vậy em lựa chọn thực hiện đồ án tốt nghiệp là “Xây dựng chương trình kiểm soát lưu lượng thông tin trao đổi qua hệ thống mạng” nhằm mục đích cung. TÍNH Để xây dựng một chương trình quản lý, thống kê, kiểm soát lưu lượng thông tin, ta cần thực hiện chặn bắt các gói tin vào ra hệ thống mạng cũng như phân tích các gói tin thu được. (Packet. thuật 57 CHƯƠNG IV. XÂY DỰNG CHƯƠNG TRÌNH 59 1 Các Chức Năng Chính 59 2 Phân Tích Xây Dựng Các Chức Năng Chính 62 2.1 Hoạt động tổng quát 62 2.2 Chức năng đo lưu lượng. 63 2.2.1 Đo lưu lượng

Ngày đăng: 19/08/2014, 08:49

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan