Xây dựng công cụ bắt gói tin trên mạng

17 1.7K 8
Xây dựng công cụ bắt gói tin trên 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

Với sự phát triển vượt bậc của công nghệ mạng, tốc độ mạng ngày càng được nâng cao, số người sử dụng mạng để làm việc ngày càng nhiều. Điều đó đặt ra vô số vấn đề cho hệ thống mạng đã tồn tại trước đây và hiện tại như : vấn đề độ tin cậy,tính toàn vẹn, tính bảo mật, và hiệu suất hoạt động của mạng …Vì thế việc cần phải có một công cụ để giúp người quản trị giám sát, phát hiện các vấn đề của mạng, cũng như phát hiện sự tấn công từ bên ngoài ngày càng trở nên quan trọng. Công cụ này đối với người quản trị mạng cũng quan trọng như máy siêu âm ,máy xquang, máy điện tâm đồ đối với các bác sĩ, những dụng cụ mà nếu thiếu thì người bác sĩ sẽ khó lòng hoàn thành tốt nhiệm vụ của mình nếu như không muốn nói là không thể. Vì thế nhóm chúng em quyết định chọn đề tài nghiên cứu cơ chế hoạt động và ứng dụng của công cụ bắt gói trên mạng. Trong quá trình thực hiện, nhóm cũng đã gặp không ít khó khăn về tài liệu vì thực sự tài liệu về mảng đề tài này là không nhiều. Cho nên đề tài chỉ dừng mức giới thiệu cơ chế chung, và thực hiện hiện chương trình demo bắt gói đơn giản bằng Java, đến ứng dụng và cách thực capture trên các môi trường mạng như thế nào. Hướng phát triển đề tài là rất rộng : như phát triển thành chương trình giám sát và phân tích gói chuyên nghiệp hoặc xây dựng IDS, firewall, ..vv

Đồ án môn học: An toàn mạng GVBM: Ths Lê Phúc Xây dựng công cụ đọc gói tin trên mạng Trang 1 MỤC LỤC Phần I : NỀN TẢNG CAPTURE GÓI 3 1. Giới thiệu Pcap / Libpcap / Winpcap : 3 2. Giới thiệu Winpcap : 3 c. Các module: 6 3. Giao tiếp với card mạng : 7 Phần II : Thực hiện chương trình DEMO VietCap 13 1. Giới thiệu về thư viện jpcap : 13 2. Các đối tượng trong jpcap: 13 Phần III : ỨNG DỤNG 16 1. Các kiểu gói: 16 2. Ethernet chia sẽ: 16 3. Ethernet chuyển mạch: 16 4. Môi trường hỗn hợp: 17 5. Capture theo cơ chế Man-In-The-Middle: 17 Phần IV: TÀI LIỆU THAM KHẢO 17 Đồ án môn học: An toàn mạng GVBM: Ths Lê Phúc Xây dựng công cụ đọc gói tin trên mạng Trang 2 Lời nói đầu -o0o- Với sự phát triển vượt bậc của công nghệ mạng, tốc độ mạng ngày càng được nâng cao, số người sử dụng mạng để làm việc ngày càng nhiều. Điều đó đặt ra vô số vấn đề cho hệ thống mạng đã tồn tại trước đây và hiện tại như : vấn đề độ tin cậy,tính toàn vẹn, tính bảo mật, và hiệu suất hoạt động của mạng …Vì thế việc cần phải có một công cụ để giúp người quản trị giám sát, phát hiện các vấn đề của mạng, cũng như phát hiện sự tấn công từ bên ngoài ngày càng trở nên quan trọng. Công cụ này đối với người quản trị mạng cũng quan trọng như máy siêu âm ,máy x-quang, máy điện tâm đồ đối với các bác sĩ, những dụng cụ mà nếu thiếu thì người bác sĩ sẽ khó lòng hoàn thành tốt nhiệm vụ của mình nếu như không muốn nói là không thể. Vì thế nhóm chúng em quyết định chọn đề tài nghiên cứu cơ chế hoạt động và ứng dụng của công cụ bắt gói trên mạng. Trong quá trình thực hiện, nhóm cũng đã gặp không ít khó khăn về tài liệu vì thực sự tài liệu về mảng đề tài này là không nhiều. Cho nên đề tài chỉ dừng mức giới thiệu cơ chế chung, và thực hiện hiện chương trình demo bắt gói đơn giản bằng Java, đến ứng dụng và cách thực capture trên các môi trường mạng như thế nào. Hướng phát triển đề tài là rất rộng : như phát triển thành chương trình giám sát và phân tích gói chuyên nghiệp hoặc xây dựng IDS, firewall, vv Đồ án môn học: An toàn mạng GVBM: Ths Lê Phúc Xây dựng công cụ đọc gói tin trên mạng Trang 3 Phần I : NỀN TẢNG CAPTURE GÓI 1. Giới thiệu Pcap / Libpcap / Winpcap : Pcap là tên chung cho bộ thư viện lập trình API ( application programming interface – giao tiếp lập trình ứng dụng ) dùng để bắt gói. Trên hệ thống linux còn gọi với tên là libpcap và trên hệ thống Windows còn gọi là winpcap. Libpcap và Winpcap đều là mã nguồn mở. Là nền tảng xây dựng các tool ứng dụng mang tính thương mại như IDS ( Network intrusion detection systems – hệ thống phát hiện xâm nhập, Packet sniffers – phân tích gói, Network Monitor – giám sát mạng…vv Pcap API được viết cho bằng C và C++ nhưng được đóng bao (wrapper) cho nhiều ngôn ngữ cao cấp như Java, C# , VB, Delphi, vv. Winpcap là một phần của Pcap được phát triển ban đầu tại Politecnico di Torino. Winpcap có thể chạy trên các hệ điều hành Windows 9x/Me, NT, 2000, XP, Server 2003, Vista . Winpcap sử dụng NDIS (Network Driver Interface Specification ) để đọc các gói trực tiếp từ card mạng (Network Adapter). NDIS là một thư viện mức thấp của hệ điều hành giao tiếp với các driver. Tên các thư viện đóng bao từ pcap của thư viện pcap trên các ngôn ngữ : • Net::Pcap, a Perl wrapper for pcap • python-libpcap, a Python wrapper for pcap • Ruby/Pcap, a Ruby wrapper for pcap • tclpcap, a Tcl wrapper for pcap • jpcap, a Java wrapper for pcap • WinPcapNET and SharpPcap, .NET wrappers for WinPcap 2. Giới thiệu Winpcap : a. Chức năng: WinPcap là một thư viện mã nguồn mở cho phép bắt gói và phân tích mạng cho nền Win32. Hầu hết các chương trình ứng dụng truy cập mạng qua các hàm nguyên thủy của hệ thống chẳng hạn như qua socket. Thật dễ dàng để truy cập dữ liệu trên mạng qua cách này vì hệ điều hành chỉ xử lý với mức chi tiết thấp (giao thức xử lý, tái hợp gói, ) và cung cấp interface tương tự như là đọc hay ghi vào file. Tuy nhiên có lúc các ứng dụng yêu cầu truy cập trực tiếp đến gói trên mạng, tức là khi nó cần có dữ liệu “thô” mà chưa có sự xử lý giao thức của hệ điều hành. Mục đích của WinPcap là để cung cấp cách truy cập này đối với nền Win32, nó có khả năng: • acketói thô, cả trên máy đang chạy chương trình hoặc thậm chí là ở máy ở xa. • Lọc gói theo các luật đã định nghĩa trước trước khi chuyển chúng cho chương trình ứng dụng. • Truyền gói thô trên mạng. Đồ án môn học: An toàn mạng GVBM: Ths Lê Phúc Xây dựng công cụ đọc gói tin trên mạng Trang 4 • Thu thập thông tin thống kê về lưu lượng mạng. Các khả năng này có được thông qua driver thiết bị được cài đặt bên trong phần mạng của kernel Win32 (các thư viện DLL). Loại chương trình nào sử dụng WinPcap: Giao tiếp lập trình WinPcap được có thể được sử dụng bởi rất nhiều loại công cụ phân tích, giải quyết sự cố, bảo mật và giám sát. Các loại công cụ điển hình dựa trên WinPcap là: • Phân tích giao thức mạng. • Giám sát mạng. • Ghi lại lưu lượng mạng. • Tạo lưu lượng mạng. • Hệ thống phát hiện xâm nhập mạng (NIDS) • Các công cụ bảo mật. Một số chương trình sử dụng thư viện Winpcap trong thực tế • Wireshark, Ethereal: công cụ bắt gói và phân tích các giao thức. • TCPdump: công cụ bắt và kết xuất các gói để phân tích. • Snort: hệ thống phát hiện xâm nhập. • SSLDump: công cụ phân tích SSLv3/TLS. Nó giải mã các bản ghi SSL và hiển thị trên stdout. • Nmap: một tiện ích scan port trên mạng. b. Kiến trúc: Hình – Kiến trúc WinPcap BPF(Berkeley Packet Filter) là một thiết bị phần mềm cho phép bắt gói ở kernel buffer và lọc các gói không mong muốn. Nó đã được chứng minh là một kiến trúc mạnh mẽ và ổn định, WinPcap giữ lại một số tính năng của nó nhưng có một số khác biệt trong kiến trúc và trong hành vi bắt gói, nó được xem là một sự phát triển của BPF. Đồ án môn học: An toàn mạng GVBM: Ths Lê Phúc Xây dựng công cụ đọc gói tin trên mạng Trang 5 Hình - Winpcap và NPF Một điều khác biệt quan trọng trong kiến trúc giữa BPF và NPF (Netgroup Packet Filter) là sự lựa chọn bộ đệm ở mức kernel, sự thực thi bộ đệm được tối ưu để có thể sao chép các block của gói ở cùng một thời điểm. Điều này là khó quản lý vì dữ liệu được sao chép không có kích thước cố định (libpcap sử dụng cùng kích thước với kernel và bộ đệm 32KB) và vì số lượng các bytes sao chép được cập nhật trong khi vẫn truyền dữ liệu từ kernel đến user. Tiến trình sao chép sẽ giải phóng phần bộ đệm đã được truyền đi, nó được chạy ở độ ưu tiên cao hơn nhưng nó không chiếm giữ độc quyền CPU. Toàn bộ bộ đệm kernel được sao chép bằng hàm read(), vì vậy giảm số lượng lời gọi hệ thống và do đó giảm số lượng chuyển đổi ngữ cảnh giữa user và kernel.Vì một chuyển đổi ngữ cảnh yêu cầu lưu trạng thái của tác vụ, nên một lượng lớn các công việc được giảm xuống. Tuy nhiên, một bộ đệm user lớn không thuận lợi vì chuyển đổi ngữ cảnh không đáng kể trong khi sự cấp phát bộ nhớ lại tăng lên. Bộ đệm WinPcap kernel thì lớn hơn (mặc định là 1MB) so với BPF. Một bộ đệm nhỏ sẽ cản trở tiến trình bắt gói đặc biệt là trong trường hợp ứng dụng không thể đọc nhanh bằng driver capture trong một khoảng giới hạn thời gian. Ngược lại thì bộ đệm user nhỏ hơn với mặc định là 256KB. Cả bộ đệm kernel và user có thể được thay đổi ở thời điểm chạy. Kích thước của bộ đệm user rất quan trọng bởi vì nó xác định số lượng tối đa dữ liệu được sao chép từ kernel đến user trong lời gọi hệ thống. Khi giá trị này lớn, kernel đợi khoảng thời gian trước khi chuyển dữ liệu đến user. Điều này bảo đảm số lượng nhỏ các lời gọi hệ thống, công suất sử dụng CPU ít hơn, đó là điều tốt cho các chương trình ứng dụng như sniffer. Nói cách khác, khigiá trị nhỏ thì kernel thì kerlel sẽ sao chép các gói ngay khi ứng dụng sẵn sàng nhận chúng. Điều này rất tốt trong ứng dụng thời gian thực cần có sự đáp ứng tốt từ kernel. NPF hoàn toàn có thể cấu hình được và nó cho phép user chọn giữa hiệu quả tốt nhất hay sự đáp ứng tốt nhất. WinPcap chứa một cặp lời gọi hệ thống có thể được sử dụng để thiết lập cả timeout sau khi hết hạn đọc và số lượng nhỏ nhất dữ liệu có thể được truyền đến ứng dụng. Các gói được sao chép khi số lượng dữ liệu là nhỏ nhất hoặc thời gian đọc hết hạn. Mặc định, Đồ án môn học: An toàn mạng GVBM: Ths Lê Phúc Xây dựng công cụ đọc gói tin trên mạng Trang 6 timeout là 1giây và lượng dữ liệu nhỏ nhất là 16K. Khả năng này được gọi là “delayed write”. Đối với WinPcap thì các gói được sao chép hai lần (từ network driver đến kernel sau đó đến user). c. Các module: WinPcap được tạo nên từ 3 module: một ở mức kernel và hai ở mức user: § Module đầu tiên là phần kernel (NPF) (file VXD trong Windows 95/98/ME và file SYS trong Windows NT/2000), nó lọc các gói, chuyển giao chúng đến mức user và chứa một số mã đặt biệt của hệ điều hành (chẳng hạn timestamp). § Module thứ hai là packet.dll, được tạo ra để giao tiếp với packet driver trong nền Win32. Trên thực tế, mỗi phiên bản Windows cung cấp các giao tiếp khác nhau giữa kernel và và các ứng dụng mức user: packet.dll sẽ xử lý những sự khác nhau này, cung cấp các hàm API độc lập. Các chương trình dựa trên packet.dll có thể bắt được các gói trên mọi nền Win32 mà không cần phải biên dịch lại.Nó thực thi một tập các thao tác mức thấp như là lấy tên của adapter hoặc thư viện tải driver, làm hiện hữu về thông tin đặc trưng của hệ thống như là netmask và một số bộ đếm phần cứng (số đụng độ trong Ethernet,etc). § Module thứ ba là WPcap.dll, nó không phụ thuộc hệ điều hành và chứa các hàm mức cao chẳng hạn như tạo ra bộ lọc và bộ đệm ở mức user, cộng với một số chức năng mở rộng như thống kê gói. Như vậy các lập trình viên có thể truy cập vào hai loại API: một tập các hàm thô chứa trong packet.dll ánh xạ trực tiếp đến các lời gọi mức kernel và một tập các hàm mức cao được cung cấp bởi WPcap.dll. Hình – Packet.dll Đồ án môn học: An toàn mạng GVBM: Ths Lê Phúc Xây dựng công cụ đọc gói tin trên mạng Trang 7 Hình – Wpcap.dll 3. Giao tiếp với card mạng : a. NetworkCard Driver và Protocol: Một network adapter card, tức bảng mạch điều hợp mạng, (đôi khi gọi là network interface card hay vắn tắt là NIC) là một bảng mạch phần cứng được cài đặt trong máy tính của bạn để cho phép máy tính hoạt động được trên mạng. Network adapter card cung cấp một (hoặc nhiều) cổng để cho cáp mạng được nối vào về mặt vật lý, và về mặt vật lý bảng mạch đó sẽ truyền dữ liệu từ máy tính tới cáp mạng và theo chiều ngược lại. Mỗi máy tính trong mạng cần phải có một trình điều khiển (driver) cho network adapter card, đó là một chương trình phần mềm kiểm soát bảng mạch mạng. Mỗi trình điều khiển của network adapter card được cấu hình cụ thể để chạy với một kiểu bảng mạch mạng (network card) nhất định. Cùng với các bảng mạch mạng và trình điều khiển bảng mạch mạng, một máy tính mạng cũng cần phải có một trình điều khiển giao thức (protocol driver) mà đôi khi gọi là một giao thức giao vận hay chỉ vắn tắt là giao thức. Trình điều khiển giao thức thực hiện công việc giữa phần mềm mạng ở mức trên (giống như trạm làm việc và máy chủ) và network adapter card. Giao thức đóng gói dữ liệu cần gửi đi trên mạng theo cách mà máy tính ở nơi nhận có thể hiểu được. Qui trình kết hợp một trình điều khiển giao thức với network adapter card tương ứng, và thiết lập một kênh truyền thông giữa hai thứ đó gọi là kết gắn (binding). Để hai máy tính truyền thông với nhau trên một mạng, chúng phải dùng cùng một giao thức Đôi khi một máy tính được cấu hình để dùng nhiều giao thức. Trong trường hợp này, hai máy tính chỉ cần một giao thức chung là có thể truyền thông với nhau. Trong một số mạng, mỗi trình điều khiển network adapter card và giao thức của máy tính là một phần mềm riêng. Trong một số mạng khác thì chỉ một phần mềm gọi là monolithic protocol stack thực hiện các chức năng của cả trình điều khiển network adapter card và giao thức. Đồ án môn học: An toàn mạng GVBM: Ths Lê Phúc Xây dựng công cụ đọc gói tin trên mạng Trang 8 b. "Network Driver Interface Specification" (NDIS) là gì ? Tạm dịch là tiêu chuẩn giao tiếp thiết bị mạng. Đây là tập hợp các hàm API liên quan đến NICs. Được hợp tác phát triển bởi Microsoft và 3Com Corporation, ngày nay được sử dụng hầu hết trong hệ điều hành Windows. Nhưng NDIS- wrapper mã nguồn mỡ và dự án Project Evil driver wrapper cho phép các NDIS sử dụng được trên hệ thống Linux and FreeBSD. NDIS là chuẩn cung cấp cho việc nói chuyện giữa card mạng (network card) và các giao thức (protocol) mạng được dùng. NDIS cho phép sử dụng nhiều giao thức mạng trên cùng một card mạng. Trong trường hợp phải sử dụng một loại card mạng khác, tức là phải cần trình điều khiển cho card mạng không có sẵn trong hệ điều hành, NDIS vẫn có thể sử dụng đa giao thức mạng trên card mạng này. Khi máy tính sử dụng đa giao thức mạng, các gói tin dữ liệu sẽ được chuyển đi thông qua giao thức mạng thứ nhất (giao thức này được gọi là primary protocol), nếu không được máy tính sẽ sử dụng tiếp giao thức thứ hai và cứ thế tiếp tục.Trên mỗi máy tính được cài đặt Windows NT, mỗi một giao thức mạng được đặt sử dụng trên một card mạng cần phải được đặt một giá trị gọi là LAN adapter number trên card mạng đó. c. Các kiểu driver NDIS : Có 3 kiểu driver được hỗ trợ trên windows là: • Driver card mạng – (Network Interface card (NIC) drivers). • Driver giao thức trung gian (Intermediate Protocol drivers). • Driver giao thức mức cao (Upper-level protocol drivers). Đồ án môn học: An toàn mạng GVBM: Ths Lê Phúc Xây dựng công cụ đọc gói tin trên mạng Trang 9 Hình - Minh họa các thành phần driver mạng của Windows NT d. Driver card mạng (NIC) : Driver của card mạng được quản lý bởi chính nó .Driver card mạng giao tiếp trực tiếp với phần cứng tại cạnh thấp và tại cạnh trên cung cấp một giao tiếp với driver mức cao hơn để : • Gửi và nhận gói . • Khởi động lại NIC • Tắt NIC. • Truy vấn NIC. • Thiết lập các thực thi đặc trưng của NIC. Driver NIC có hai kiểu : Miniport DriversMiniport drivers : thực thi tác vụ phần cứng đặc trưng cần thiết cho việc quản lý NIC, bao gồm gửi và nhận dữ liệu trên NIC. Miniport drivers không thực hiện lời gọi hệ điều hành trực tiếp, thay vào đó nó gọi các hàm cung cấp bởi NDIS. Full NIC Drivers : quản lý cả phần cứng đặc trưng và tác vụ đặc trưng của hệ điều hành thường được dùng bởi NDIS. Full NIC drivers phải luôn duy trì một thông tin cho dữ liệu nhận . Đồ án môn học: An toàn mạng GVBM: Ths Lê Phúc Xây dựng công cụ đọc gói tin trên mạng Trang 10 ü Driver giao thức trung gian -Intermediate Protocol Driver? nằm giữa legacy protocol driver và miniport drivers. Để lớp điều khiển vận chuyển mức cao tương tự như miniport driver . Tạo sự chuyển đổi môi trường giữa lớp điều khiển cao và lớp miniport trong việc quản lý những kiểu môi trường truyền chưa. ü Driver giao thức mức cao - Upper Level Protocol Driver ? là giao thức điều khiển mức trên thực thi các một giao diện TDI hay những giao diện ứng dụng đặc trưng để cung cấp dịch vụ cho người sử dụng. Như điều khiển tạo gói, chép dữ liệu vào gói, gửi gói đi xuống điều khiển mức thấp bằng các gọi NDIS. Cung cấp một giao tiếp giao thức với mức thấp để nhận gói . Làm sao chương trình ứng dụng có thể tương tác với trình điều khiển? Tất cả các trình điều khiển ( driver ) được viết bởi Windows NT phải có một hàm DriverEntry . Tất cả các hàm khác của trong trình điều khiển sẽ được trình ứng dụng nhận biến thông thường trình DriverEntry. Trình ứng dụng gọi những hàm như CreateFile, ReadFile vv sẽ trả về bộ quản lý nhập/xuất mạng, bộ phận này sẽ tạo ra một IRP (input/output Request Packet) chịu trách nhiệm đến mỗi lời gọi hàm. Ví dụ: Chương trình ứng dụng gọi một hàm trong dll, hàm này sẽ trả về một điểm vào trong trình điều khiển PACKET. Trình điều khiển sử dụng các hàm của NDIS.SYS để giao tiếp với card mạng. 4. Nhận dạng giao thức : a. Luồng dữ liệu trong mạng TCP/IP : [...]... tất cả gói tin bởi vì cơ chế chuyển mạch của switch sẽ chuyển đến đúng port của máy đích nên ta chỉ có thể capture trên máy cần quan tâm Hình - capture trên môi trường Ethernet chuyển mạch Xây dựng công cụ đọc gói tin trên mạng Trang 16 Đồ án môn học: An toàn mạng GVBM: Ths Lê Phúc Hình - capture trên môi trường Ethernet chuyển mạch trên máy cần quan tâm 4 Môi trường hỗn hợp: Kết hợp 2 kiểu trên để... Frame type (2 Bytes) : Giao thức lớp trên của frame Nếu gói là một gói IP đúng thì giá trị của type trường type sẽ là 08 0016 Nhận dạng gói TCP/UDP/ICMP : Dựa vào định dạng gói IP , trình bày trong hình bên dưới trong đó trường Protocol , với chiều dài 1byte dùng để nhận dạng giao thức lớp trên của IP Xây dựng công cụ đọc gói tin trên mạng Trang 11 Đồ án môn học: An toàn mạng GVBM: Ths Lê Phúc Một số giá... destination :Địa chỉ đích của Interface ,trong kết nối P2P Ø java.net.InetAddress subnet : Địa chỉ Subnet mask của interface Ø NetworkInterfaceAddress(byte[] address, byte[] subnet,byte[] broadcast, byte[] destination) : Hàm tạo Xây dựng công cụ đọc gói tin trên mạng Trang 15 Đồ án môn học: An toàn mạng GVBM: Ths Lê Phúc Phần III : ỨNG DỤNG 1 Các kiểu gói: • Unicast • Multicast • Broadcast Khi card mạng. .. giao thức lớp trên tương ứng của trường Protocol Nhận dạng HTTP : ] Định dạng header TCP HTTP dựa vào giao thức TCP Để nhận dạng gio thức HTTP cần phải căn cứ vào port của TCP Nếu source port có giá trị là 80 thì packet nhận về là HTTP response Nếu destination port có giá trị là 80 thì gói nhận về là mọt HTTP request Xây dựng công cụ đọc gói tin trên mạng Trang 12 Đồ án môn học: An toàn mạng GVBM:... openDevice(NetworkInterface device) : Mở một interface Ném ra môt ngoại lệ nếu interface không thể mở được Xây dựng công cụ đọc gói tin trên mạng Trang 14 Đồ án môn học: An toàn mạng GVBM: Ths Lê Phúc Ø static JpcapSender openRawSocket() : Mở một một IP socket thô để gửi một gói Khi gửi một gói theo socket thô , tiêu đề của lớp datalink của gói được bỏ qua , ( hệ điều hành tự thêm vào ) Ø protected int reserveID() :Trả lại... một gói capture được Ø boolean isNonBlockinMode() : Kiểm tra chế độ thiết lập hiện tại là “nonblocking” hay không ? Xây dựng công cụ đọc gói tin trên mạng Trang 13 Đồ án môn học: An toàn mạng GVBM: Ths Lê Phúc Ø int loopPacket(int count, PacketReceiver handler) : Capture liên tiếp các gói và trả vào hander Ø static JpcapCaptor openDevice(NetworkInterface intrface, int snaplen, boolean promisc, int to_ms)... thư viện đóng bao từ pcap dùng cho Java Thư viện gồm hai gói : Gói jpcap và gói jpcap.packet 2 Các đối tượng trong jpcap: Interfaces Ø PacketReceiver : Giao diện phát sinh khi nhận gói Lớp : Ø JpcapCaptor : Đối tượng dùng để bắt gói , đọc gói từ file capture Ø JpcapSender : Đối tượng dùng để gửi gói Ø JpcapWriter : Đối tượng dùng để lưu môt gói vào file Ø NetworkInterface : Đối tượng dùng để quản... http://wiki.wireshark.org/CaptureSetup/Ethernet • Trang Winpcap Link http://www.winpcap.org/ • Bài báo “An Architecture for High Performance Network Analysis” Link : http://www.winpcap.org/docs/iscc01-wpcap.pdf Xây dựng công cụ đọc gói tin trên mạng Trang 17 ...Đồ án môn học: An toàn mạng GVBM: Ths Lê Phúc Luồng dữ liệu trong mạng TCP/IP cũng đi qua nhiều lớp như : Lớp ứng dụng , lớp TCP/UDP, lớp IP và lớp Ethernet, mỗi lớp sẽ đóng gói header của mình vào dữ liệu chung và gửi cho lớp dưới b Nhận dạng một gói TCP/IP : Nhận dạng gói IP : Để nhận dạng một gói TCP/IP thì ta dựa vào frame Ethernet : ü Ethernet frame chứa 14 byte header ü Destination address (6 Bytes)... Unicast • Multicast • Broadcast Khi card mạng chuyển gói đi thì đồng thời nó cũng copy một bản cho capture Đối với các gói tin không phải unicast, chương trình capture được đặt ở chế độ “không xác định kiểu” 2 Ethernet chia sẽ: Hình - Capture trên môi trường Ethernet chia sẽ Các máy nối nhau qua 1 HUB và chương trình capture được tất cả gói tin Mạng không dây thì sẽ giải quyết vấn đề này theo kiểu . mạng. Đồ án môn học: An toàn mạng GVBM: Ths Lê Phúc Xây dựng công cụ đọc gói tin trên mạng Trang 4 • Thu thập thông tin thống kê về lưu lượng mạng. Các khả năng này có được thông qua driver thiết. Trên thực tế, mỗi phiên bản Windows cung cấp các giao tiếp khác nhau giữa kernel và và các ứng dụng mức user: packet.dll sẽ xử lý những sự khác nhau này, cung cấp các hàm API độc lập. Các chương. kernel và một tập các hàm mức cao được cung cấp bởi WPcap.dll. Hình – Packet.dll Đồ án môn học: An toàn mạng GVBM: Ths Lê Phúc Xây dựng công cụ đọc gói tin trên mạng Trang 7 Hình – Wpcap.dll

Ngày đăng: 10/11/2014, 22:59

Từ khóa liên quan

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

Tài liệu liên quan