Đăng ký Đăng nhập
Trang chủ Khảo sát các thư viện bắt gói lớp 2 và lớp 3...

Tài liệu Khảo sát các thư viện bắt gói lớp 2 và lớp 3

.PDF
78
138
124

Mô tả:

HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG KHOA CÔNG NGHỆ THÔNG TIN 2 ĐỒ ÁN/KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC Đề tài: KHẢO SÁT CÁC THƢ VIỆN BẮT GÓI LỚP 2 VÀ LỚP 3 Mã số đề tài: 11407170011 Ngƣời hƣớng dẫn : Sinh viên thực hiện : ThS LÊ PHÚC NGUYỄN VĂN TRÍ Mã số sinh viên Lớp Khoá Hệ 407170067 Đ07THM1 2007-2012 ĐẠI HỌC CHÍNH QUY : : : : TP.HCM , tháng 12/2011 Đồ án/ Khóa luận tốt nghiệp Đại học Nhận x t c a giáo vi n h ng d n NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN  -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------TP Hồ Chí Minh, Ngày …… tháng 12 năm 2011 Giáo viên hƣớng dẫn ThS. LÊ PHÚC Nguyễn Văn Trí -D07THM1 Đồ án/ Khóa luận tốt nghiệp Đại học Lời mở đầu LỜI MỞ ĐẦU Công nghệ mạng máy tính và truyền thông ngày nay đ ợc sử dụng một cách rộng rãi v i những phần mềm ứng dụng đ ợc viết ra để cung cấp cho ng ời dùng. Sự thành công c a mạng Internet mang thông tin đến mỗi gia đình, mỗi tổ chức và mỗi công ty. Mỗi ngày mỗi sản phẩm phần mềm đ ợc viết ra kèm theo đó là những công nghệ m i ra đời. Sức mạnh và độ phức tạp c a mạng máy tính đ ợc phát triển mỗi ngày. Điều này làm tăng khả năng sử dụng c a thiết bị ng ời dùng cuối, nh ng cũng chính điều đó lại làm khó cho những ng ời thiết kế, bảo d ỡng và đảm bảo tính an ninh c a mạng. Chính vì nguy n nhân đó, cần đ a ra những công cụ cần thiết có khả năng phân tích, chẩn đoán và kiểm tra hoạt động và vấn đề bảo mật c a các thông tin truyền trên mạng. Để có thể kiểm soát đ ợc các luồng thông tin l u thông tr n mạng, theo dõi l u l ợng gói vào ra. Đồng thời theo dõi hoạt động c a ng ời sử dụng về các vấn để trên đ ờng truyền, sự tấn công c a virus hay những tấn công c a Hacker. Một giải pháp đặt ra đó là sử dụng những công cụ bắt gói và phân tích kết quả từ các gói bắt đ ợc để có thể giải quyết các vấn đề nêu trên. Hiện nay, có rất nhiều công cụ bắt gói đ ợc phát triển bởi các nhà phát triển ứng dụng nổi tiếng, nh công cụ bắt gói Wireshare, Tcpdump, Etherpeek, Cain & Anbel… Tuy nhi n, cơ chế hoạt động để có thể thực hiện bắt gói ở l p 2 (Datalink) và l p 3( Network) trong mô hình OSI c a những công cụ này nh thế nào? Dựa vào đâu mà các công cụ này có thể bắt các gói tin và tiến hành phân tích chúng , sau đó hiển thị kết quả l n giao diện c a ứng dụng. Chính vì những mục đích nêu trên, em đã lựa chọn thực hiện đồ án tốt nghiệp về khảo sát cơ chế bắt gói ở l p Network và l p Data link. Khảo sát các th viện bắt gói ở mỗi l p. So sánh kết quả bắt gói trong từng tr ờng hợp ri ng để có thể hiểu rõ hơn về cơ chế bắt gói, hiệu suất bắt gói tr n mỗi l p. Thông qua đó, em có thể nắm bắt đ ợc các giải pháp và kĩ thuật để có thể thu thập, giám sát, quản lý đ ợc thông tin trên mạng qua việc phân tích nội dung các gói tin bắt đ ợc. Và đó sẽ giúp em có thể trang bị tốt cho hành trang kiến thức c a mình sau khi ra tr ờng. Nội dung c a báo cáo đồ án tốt nghiệp gồm có: Chương 1: Tổng quan về bắt gói. Chương 2: Các giao thức và khuôn dạng dữ liệu chính. Chương 3: Thư viện lọc gói lớp 2 và lớp 3. Chương 4:Đánh giá hiệu suất bắt gói của thư viện bắt gói lớp 2 và thư viện bắt gói lớp 3. Phần kết luận và các tài liệu tham khảo. Nguyễn Văn Trí -D07THM1 Đồ án/ khóa luận tốt nghiệp Đại học Lời cảm ơn LỜI CẢM ƠN Sau thời gian học tập tại tr ờng Học Viện Công Nghệ B u Chính Viễn Thông Cơ sở tại thành phố Hồ Chí Minh, em đã đ ợc các thầy cô giáo trang bị cho em những kiến thức cơ bản c a ngành Công nghệ thông tin, đồng thời cũng giúp em hiểu sâu hơn về chuyên ngành mạng máy tính và truyền thông. Ngoài ra, nhà tr ờng cũng tạo điều kiện cho em có thể tìm hiểu đ ợc các vấn đề li n quan trong chuy n ngành mà mình đang theo học. Đó cũng là nền tảng vững chắc cho em sau này b c ra tr ờng vận dụng những kiến thức mà mình đã đ ợc học để có thể góp phần xây dựng ngành công nghệ thông tin nói chung và ngành mạng máy tính và truyền thông nói riêng ngày càng phát triển v i những công nghệ tiên tiến hiện nay. Em xin bày tỏ lòng cảm ơn Ban giám hiệu nhà tr ờng, t i thầy, cô và các anh chị khoa Công nghệ Thông tin đã tận tình giảng dạy và giúp đỡ cho em trong suốt thời gian học tập vừa qua tại tr ờng. Đồng thời em xin gửi lời cảm ơn sâu sắc t i Thầy L Phúc đã tận tình giúp đỡ, h ng d n em học tập, tìm hiểu, nghiên cứu và trau dồi kiến thức chuy n môn để hoàn thành đề tài báo cáo tốt nghiệp này. Mặc dù đã cố gắng trong nghiên cứu và thực hiện đề tài, nh ng vì thời gian và trình độ còn hạn chế nên chắc chắn bài báo cáo sẽ không tránh khỏi nhiều thiếu sót. Em rất mong nhận đ ợc sự đóng góp và giúp đỡ c a các thầy cô giáo, các bạn sinh vi n để em có thể phát triển hơn nữa những nghi n cứu và ch ơng trình c a mình. Nguyễn Văn Trí -D07THM1 Đồ án/ Khóa luận tốt nghiệp Đại học Mục lục MỤC LỤC NHẬN T CỦA GIÁO VIÊN HƢỚNG DẪN LỜI MỞ ĐẦU LỜI CẢM ƠN MỤC LỤC .................................................................................................................................. i DANH MỤC CÁC BẢNG, HÌNH .......................................................................................... iv DANH MỤC CÁC CỤM TỪ VIẾT TẮT ............................................................................... v CHƯƠNG 1. TỔNG QUAN VỀ BẮT GÓI ..................................................................... 6 1.1 Giới thiệu . .................................................................................................................. 6 1.2 Kiến trúc bắt gói dữ liệu............................................................................................ 7 1.2.1 Card mạng và trình điều khiển thiết bị NIC. ................................................... 7 1.2.2 Trình điều khiển bắt gói................................................................................... 10 1.3 Tƣơng tác với NDIS ................................................................................................. 13 1.4 Các quá trình xử lý bắt và gửi gói. ......................................................................... 19 1.4.1 Quá trình lọc. .................................................................................................... 19 1.4.2 Quá trình đệm và đọc dữ liệu. ......................................................................... 20 1.4.3 Quá trình tiêm gói. ........................................................................................... 23 Các loại bộ đệm. ....................................................................................................... 23 1.5 1.5.1 Bộ đệm hạt nhân. .............................................................................................. 23 1.5.2 Bộ đệm mức ngƣời dùng .................................................................................. 24 Các kiến trúc bắt gói. ............................................................................................... 25 1.6 1.6.1 Kiến trúc BSD Packet Filter. ........................................................................... 25 1.6.1.a. Network Tap. ............................................................................................. 26 1.6.1.b. Filter. .......................................................................................................... 26 1.6.1.c. Kernel Buffer. ............................................................................................ 28 1.6.1.d. Thƣ viện Libcap. ....................................................................................... 28 1.6.2 Kiến trúc của WinPCap. .................................................................................. 29 1.6.2.a. Tổng quan về kiến trúc. ............................................................................ 29 1.6.2.b. Những mô đun của WinPCap. ................................................................. 31 CHƯƠNG 2. 2.1 CÁC GIAO THỨC VÀ KHUÔN DẠNG DỮ LIỆU CHÍNH................ 34 Bộ giao thức TCP/IP. ............................................................................................... 34 2.1.1 Khái niệm. ......................................................................................................... 34 2.1.2 Mục đích và nguồn gốc..................................................................................... 34 2.1.3 Đặc điểm. ........................................................................................................... 36 2.1.4 Đóng gói dữ liệu trong chồng giao thức TCP/IP ............................................... 36 Nguyễn Văn Trí -D07THM1 Trang i Đồ án/ Khóa luận tốt nghiệp Đại học 2.1.5 Sơ lƣợt chức năng của các tầng. ...................................................................... 37 2.1.5.a. Tầng ứng dụng(Application Layer). ......................................................... 37 2.1.5.b. Tầng giao vận(Transport Layer). ............................................................ 37 2.1.5.c. Tầng Internet(Internet Layer). ................................................................ 37 2.1.5.d. Tầng Liên kết(Link Layer). ...................................................................... 38 2.1.6 2.2 Mục lục So sánh mô hình TCP/IP và OSI ..................................................................... 38 Cấu trúc khung tin và các giao thức truyền tin. ................................................... 39 2.2.1 Ethernet. ............................................................................................................ 39 2.2.1.a. Cấu trúc khung tin Ethernet. ................................................................... 39 2.2.1.b. Cấu trúc địa chỉ Ethernet. ........................................................................ 41 2.2.2 ARP(Address Resolution Protocol). ................................................................ 41 2.2.3 RARP(Reverse Address Resolution Protocol). .............................................. 42 2.2.4 IP(Internet Protocol). ....................................................................................... 43 2.2.5 ICMP(Internet Control Message Protocol). ................................................... 45 2.2.6 TCP(Transmission Control Protocol). ............................................................ 47 2.2.7 UDP(User Datagram Protocol)........................................................................ 48 2.2.8 HTTP (HyperText Transfer Protocol). .......................................................... 49 2.2.9 DNS(Domain Name System). ........................................................................... 50 CHƯƠNG 3. THƢ VIỆN LỌC GÓI LỚP 2 VÀ LỚP 3 ............................................... 52 3.1 Các khái niệm liên quan. ......................................................................................... 52 3.2 Thƣ viện bắt gói lớp 3 (.NET Library). ................................................................. 52 3.2.1 Khái niệm .......................................................................................................... 53 3.2.2 Hoạt động của .NET Socket. ............................................................................ 55 3.3 Thƣ viện bắt gói lớp 2. ............................................................................................. 55 3.3.1 3.3.1.a. Khái niệm. .................................................................................................. 56 3.3.1.b. Hoạt động của Winpcap. .......................................................................... 57 3.3.2 3.4 WinPcap ............................................................................................................ 55 PacketX. ............................................................................................................. 58 So sánh và Nhận xét cơ chế bắt gói. ....................................................................... 59 3.4.1 So sánh Raw Socket và WinPcap. ................................................................... 59 3.4.2 Nhận xét. ............................................................................................................ 60 CHƯƠNG 4. ĐÁNH GIÁ HIỆU SUẤT BẮT GÓI CỦA THƢ VIỆN BẮT GÓI LỚP 2 VÀ THƢ VIỆN BẮT GÓI LỚP 3 ...................................................................................... 62 4.1 Giới thiệu về chƣơng trình bắt gói lớp 2 và lớp 3. ................................................ 62 4.1.1 Chƣơng trình bắt gói lớp 2. ............................................................................. 62 4.1.2 Chƣơng trình bắt gói lớp 3. ............................................................................. 62 Nguyễn Văn Trí -D07THM1 Trang ii Đồ án/ Khóa luận tốt nghiệp Đại học 4.2 Mục lục So sánh hiệu suất bắt gói giữa lớp 2 và lớp 3......................................................... 63 4.2.1 Sơ đồ mạng thực hiện so sánh hiệu suất. ........................................................ 63 4.2.2 So sánh độ chiếm dụng CPU. ........................................................................... 65 4.2.3 So sánh tỉ lệ gói bắt đƣợc. ................................................................................ 66 4.2.4 So sánh tỉ lệ mất gói. ......................................................................................... 67 4.3 Hƣớng phát triển đồ án. .......................................................................................... 71 KẾT LUẬN ............................................................................................................................. 73 DANH MỤC TÀI LIỆU THAM KHẢO .............................................................................. 74 Nguyễn Văn Trí -D07THM1 Trang iii Đồ án/ Khóa luận tốt nghiệp Đại học Danh mục các Bảng, Hình DANH MỤC CÁC BẢNG, HÌNH Danh mục các bảng: Bảng 2.1 Một số giao thức tr n các tầng c a TCP/IP.............................................................. 37 Danh mục các hình ảnh: Hình 1.1 Cấu trúc NPF .............................................................................................................. 8 Hình 1.2 Đ ờng đi từ NIC đến ứng dụng ................................................................................. 9 Hình 1.3 Cấu trúc c a trình điều khiển bắt gói ........................................................................ 11 Hình 1.4 Cấu trúc c a trình điều khiển v i hai adapter và hai ứng dụng ................................ 12 Hình 1.5 Một kiến trúc NDIS đơn giản ................................................................................... 16 Hình 1.6 Packet Capture Driver trong NDIS .......................................................................... 18 Hình 1.7 Các thành phần c a BSD .......................................................................................... 26 Hình 1.8 WinPCap và NPF ..................................................................................................... 29 Hình 1.9 Kiến trúc Winpcap tổng quát .................................................................................... 31 Hình 2.1 Bộ giao thức TCP/IP ................................................................................................. 35 Hình 2.2 Đóng gói dữ liệu theo giao thức TCP/IP .................................................................. 36 Hình 2.3 T ơng ứng các tầng giữa TCP/IP và OSI ................................................................. 38 Hình 2.4 Cấu trúc khung Ethernet ........................................................................................... 39 Hình 2.5 Cấu trúc một đơn vị dữ liệu ARP ............................................................................. 42 Hình 2.6 Cấu trúc đơn vị dữ liệu IP......................................................................................... 43 Hình 2.7 Cấu trúc gói tin ICMP .............................................................................................. 46 Hình 2.8 Cấu trúc đơn vị dữ liệu TCP ..................................................................................... 47 Hình 2.9 Cấu trúc đơn vị dữ liệu UDP .................................................................................... 49 Hình 2.10 Cấu trúc header c a gói tin DNS ............................................................................ 50 Hình 3.1 Sơ đồ giao tiếp thông qua .NET Socket ................................................................... 54 Hình 3.2 Cơ chế làm việc c a .NET Socket ............................................................................ 55 Hình 3.3 T ơng ứng giữa Socket và Pcap ............................................................................... 60 Hình 4.1 Giao diện ch ơng trình bắt gói l p 2 ........................................................................ 62 Hình 4.2 Giao diện ch ơng trình bắt gói l p 3. ....................................................................... 63 Hình 4.3 Sơ đồ dùng để so sánh hiệu suất bắt gói ................................................................... 63 Hình 4.4 Cấu hình máy Windows Server 2003 ....................................................................... 64 Hình 4.5 Cấu hình máy Windows 7 ........................................................................................ 64 Hình 4.6 Mức chiếm dụng CPU ở ch ơng trình bắt l p 3 ...................................................... 65 Hình 4.7 Mức chiếm dụng CPU ở ch ơng trình l p 2 ............................................................ 66 Hình 4.8 Số gói TCP bắt l p 3 ................................................................................................ 68 Hình 4.9 Số gói TCP và tổng số gói bắt l p 2 ......................................................................... 68 Hình 4.10 Tổng số gói bắt đ ợc c a wireshare ....................................................................... 69 Hình 4.11 Kết quả gói tin TCP trong 3 ch ơng trình ............................................................. 70 Hình 4.12 Số gói tin TCP bị mất trong 2 ch ơng trình bắt gói. ............................................ 71 Nguyễn Văn Trí -D07THM1 Trang iv Đồ án/ Khóa luận tốt nghiệp Đại học Danh mục các cụm từ viết tắt DANH MỤC CÁC CỤM TỪ VIẾT TẮT TỪ VIẾT TẮT OSI LAN WAN SA DA TỪ VIẾT ĐẦY ĐỦ Open Systems Interconnection Local Area Network Wide Area Network Source Address Destination Address UDP User Datagram Protocol TCP Transmission Control Protocol ICMP Internet Control Message Protocol SNMP Simple Network Management Protocol IP FTP CPU DNS Internet Protocol File Transfer Protocol Center Processing Unit Domain Name Service DHCP Dynamic Host Configuration Protocol HTTP Hyper Text Transfer Protocol PPP DLL TOS TTL Point-to-Point Protocol Dynamic Link Library Type Of Service Time To Live NDIS Network Driver Interface Specification Nguyễn Văn Trí – D07THM1 GIẢI NGHĨA Kết nối hệ thống mở Mạng cục bộ Mạng diện rộng Địa chỉ nguồn Địa chỉ đích Giao thức dữ liệu ng ời dùng Giao thức điều khiển truyền d n Giao thức thông điệp điều khiển Internet Giao thức quản lý mạng đơn giản Giao thức Internet Giao thức truyền tập tin Đơn vị xử lý trung tâm Dịch vụ tên miền Giao thức cấu hình máy ch động Giao thức truyền si u văn bản Giao thức điểm nối điểm Th viện liên kết động Loại dịch vụ Thời gian sống Định rõ giao tiếp trình điều khiển mạng Trang v Đồ án/ Khóa luận tốt nghiệp Đại học CHƯƠNG 1. Ch ơng 1.Tổng quan về bắt gói TỔNG QUAN VỀ BẮT GÓI 1.1 Giới thiệu . Những công cụ bắt gói đ ợc tạo ra để thực hiện công việc riêng c a nó, th ờng cần thu thập dữ liệu truyền trên mạng, bắt gói (capturing) trong khi mạng đang làm việc. Việc xử lý bắt gói tập trung ở chổ thu thập, lắng nghe trên mạng, mỗi khung truyền, không phụ thuộc vào nguồn hay đích c a gói tin đến. Hầu hết các công nghệ truyền d n và giao thức truyền thông làm phức tạp thêm nhiệm vụ này. Hơn thế nữa, khả năng thực thi đ ợc đánh giá rất quan trọng, để có thể bắt đ ợc dữ liệu từ mạng đang hoạt động nhanh v i tốc độ cao mà không làm mất gói dữ liệu. Có hai ph ơng pháp chính để bắt dữ liệu từ một mạng: Thứ nhất là dựa trên việc sử dụng những thiết bị phần cứng chuyên dụng, trong khi cách thứ hai là sử dụng phần cứng c a một PC hay máy trạm bình th ờng kết nối đến kênh truyền thông. Trong ph ơng pháp thứ hai, card mạng c a máy tính sử dụng để thu thập cách khung (frames) từ mạng, và phần mềm đảm nhiệm xử lý bắt gói. Giải pháp phần mềm th ờng có khả năng thực hiện thấp hơn, đặc biệt là trên những máy tính yếu. Nh ng nó lại rẽ hơn, dễ chỉnh sửa và nâng cấp chức năng phần mềm. V i nguy n nhân đó, nó đ ợc hiện diện trong hầu hết kiến trúc mạng, nơi mà khả năng thực hiện cao c a những phần cứng chuyên dụng không thực sự cần đến. Việc thực hiện bắt gói đ ợc lấy ý t ởng từ Berkeley Packet Filter (BPF), đ ợc phát triển bởi S.McCanne và V.Jaconbson tại tr ờng đại học c a California. BPF là một thành phần hạt nhân nổi tiếng sử dụng nh một trình điều khiển bắt gói (capture driver) trong những phiên bản c a UNIX v i hiệu quả c a nó rất cao, dễ triển khai và khả năng đáp ứng c a nó cho giao tiếp mức ng ời dùng v i th viện libpcap. Sự phát triển rộng rãi c a Windows v i những nhiệm vụ thực hiện mà đáng ra là những nhiệm vụ truyền thống đ ợc thực hiện một cách tin cậy trên những máy trạm Unix làm bỏ qua những tính năng v i nhiều vấn đề đáng kể. Do vậy, nó hạn chế số l ợng cũng nh chất l ợng c a những công cụ cho việc phân tích và bảo mật trên nền tảng này. Những cố gắn đó đ ợc tập trung để tạo ra một kiến trúc có khả năng mở rộng và mạnh mẽ cho việc phân tích mạng ở mức thấp trên nền tảng Win32, đó chính là WinPCap. V i kiến trúc này là một hệ thống mở đầu tiên cho việc bắt gói dữ liệu trên Win32 và nó lấp đầy khoảng trống quan trọng giữa Unix và Windows. Hơn nữa, WinPCap đ a mục tiêu v i hiệu suất là vấn đề đầu ti n, do đó nó có thể hổ trợ cho các ứng dụng đòi hỏi hiệu suất cao. Việc lọc gói đ ợc tạo ra từ một thành phần nhân c a hệ điều hành ( để lựa chọn gói tin) và một th viện chế độ ng ời dùng ( để cung cấp gói tin đến ứng dụng). Thành phần sau cùng cung cấp một chuẩn giao tiếp cho việc truy cập mạng Nguyễn Văn Trí – D07THM1 Trang 6 Đồ án/ Khóa luận tốt nghiệp Đại học Ch ơng 1.Tổng quan về bắt gói mức thấp và cho phép lập trình viên có thể tránh đ ợc lập trình ở mức nhân c a hệ điều hành. WinPCap bao gồm một trình điều khiển chế độ hạt nhân tối u, đ ợc gọi là Netgroup Packet Filter (NPF), và tập th viện mức ng ời dùng có khả năng t ơng thích v i libpcap. T ơng thích API Libcap chính là mục ti u đầu ti n để mà tạo ra nền tảng một tập các chức năng cho việc bắt gói. WinPCap có thể nạp các ứng dụng c a Unix đến Win32 dễ dàng và nó có thể cho phép một tập l n các ch ơng trình đ ợc sử dụng trên Win32 ngay lập tức, chỉ sau một quá trình biên dịch đơn giản. Hơn thế nữa, do việc quan trọng c a giám sát l u l ợng, WinPCap cung cấp các lời gọi hệ thống rõ ràng cao cho việc đó. 1.2 Kiến trúc bắt gói dữ liệu Trong phần này sẽ định nghĩa những mô hình đ ợc sử dụng trong việc bắt gói bằng việc nhận diện các thành phần đặc biệt c a một kiến trúc đặc tr ng cho việc bắt gói và phân tích l u l ợng. Đặc biệt, chúng ta tập trung vào đ ờng đi gói tin đ ợc nhận về bởi card mạng đ ợc chuyển t i bộ nh bộ nh chính c a máy trạm, và đến ứng dụng cuối cùng thông qua môi tr ờng c a trình điều khiển thiết bị và hệ điều hành. Mặc dù kiến trúc NPF (NetGroup Packet Filter) đ ợc cung cấp bởi BPF và bọc trong th viện WinPCap, th ờng đ ợc chú ý đến cho những nguyên tắc cơ bản chung để giải quyết vấn đề khác. Kế tiếp,những thành phần li n quan, đ ợc yêu cầu bởi WinPCap để xử lý một gói tin đến và phân phối chúng đến ứng dụng nh trong biểu diễn c a hình 1.1 và hình 1.2. 1.2.1 Card mạng và trình điều khiển thiết bị NIC. Một card mạng hiện nay có số l ợng gi i hạn thực sự c a bộ nh on-board, th ờng là vài Kbyte. Bộ nh này yêu cầu để cho phép nhận và gửi gói tin tại thời điểm tốc độ liên kết tối đa, không phụ thuộc vào khả năng c a máy trạm ch . Hơn nữa, NIC thực hiện một vài kiểm tra đầu ti n nh là lỗi CRC, khung Ethernet ngắn, trong khi những gói tin đ ợc l u trữ trong bộ nh on-board, do đó những khung không đúng có thể bị loại bỏ ngay tức thì mà không xảy ra một thao tác kiểm tra ở l p trên. Nguyễn Văn Trí – D07THM1 Trang 7 Đồ án/ Khóa luận tốt nghiệp Đại học Ch ơng 1.Tổng quan về bắt gói Hình 1.1 Cấu trúc NPF Sau khi những gói tin đúng đ ợc nhận về bởi card NIC, nó sẽ sinh ra một yêu cầu chuyển thẳng t i bus controller cho việc truyền dữ liệu trên bus master. Tại thời điểm này, NIC sẽ chiếm quyền điều khiển c a bus, chuyển gói tin từ bộ đệm NIC vào trong bộ nh chính c a máy trạm, điều này đ ợc biểu diễn trong hình 1.2. Sau đó nó sẽ giải phóng bus và sinh ra một lệnh ngắt phần cứng chuyển thẳng t i chip điều khiển ngắt lập trình nâng cao (APIC). Chip này đánh thức th tục điều khiển ngắt hệ điều hành, cái mà đ ợc gắn vào th tục dịch vụ ngắt (ISR) c a trình điều khiển thiết bị NIC. ISR c a trình điều khiển đ ợc viết tốt có thể dễ dàng làm việc. Về cơ bản, nó kiểm tra nếu có liên quan ngắt đến bản thân nó ( một lệnh ngắt có thể chia sẽ giữa vài thiết bị trong kiến trúc x86) và biết nó. Sau đó, ISR l n lịch làm việc v i một hàm u ti n thấp ( đ ợc gọi là Deferred Procedure Call, hay là DPC) mà sẽ xử lý sau yêu cầu phần cứng và cảnh báo t i trình điều khiển l p cao hơn ( ví dụ , trình điều khiển l p giao thức, trình bắt gói) mà một gói tin đ ợc nhận về. CPU sẽ xử lý th tục DPC khi không có một yêu cầu ngăt nào đ ợc chờ. Những yêu cầu ngắt t i từ NIC đ ợc vô hiệu hóa khi một trình điều khiển thiết bị đang thực hiện công việc c a nó, bởi vì quá trình xử lý c a các gói tin đã hoàn thành tr c một quá trình yêu Nguyễn Văn Trí – D07THM1 Trang 8 Đồ án/ Khóa luận tốt nghiệp Đại học Ch ơng 1.Tổng quan về bắt gói cầu kế tiếp. Hơn nữa, do việc sinh ra ngắt là hoạt động rất tốn chi phí nên NIC hiện nay cho phép nhiều gói tin đ ợc chuyển trong cùng một ngữ cảnh c a một lệnh ngắt đơn, nh thế một trình điều khiển l p cao hơn có thể xử lý vài gói tin đến mỗi thời gian mà nó đ ợc kích hoạt. Hình 1.2 Đ ờng đi từ NIC đến ứng dụng Trình điều khiển NIC quản lý trực tiếp đến card mạng, ví dụ nh là NICs. Giao tiếp trình điều khiển NIC truy cập trực tiếp đến phần cứng tại bi n thấp hơn c a nó và bi n cao hơn c a nó v i một giao tiếp cho ph p l p cao hơn có thể gửi gói tin l n mạng, xử lý ngắt, khởi động lại NIC, dừng hoạt động c a NIC và chuyển sang chế độ chờ, thiết lập thêm các đặc điểm hoạt động c a trình điều khiển. Một trình điều khiển không thể giao tiếp v i ứng dụng mức ng ời dùng, nh ng chỉ có thể giao tiếp v i trình điều khiển trung gian NDIS hoặc trình điều khiển giao thức. Trình điều khiển NIC có thể là những miniport hoặc là trình điều khiển NIC đầy đ đ ợc kế thừa. o Trình điều khiển Miniport chỉ đ ợc triển khai thực hiện tr n một phần cứng ri ng biệt cần thiết để quản lý một NIC, bao gồm việc gửi và nhận dữ liệu tr n NIC. Thống nhất các hoạt động đến tất cả trình điều khiển NIC ở mức thấp nhất, ví dụ nh là việc đồng bộ, đ ợc cung cấp bởi NDIS. Miniports không gọi th tục hệ điều hành trực tiếp; giao tiếp c a nó đối v i hệ điều hành là NDIS. Một Miniport không giữ lại dấu vết c a sự li n kết. Nó chỉ chuyển gói tin đến NDIS và NDIS đảm bảo rằng những gói tin đó đ ợc chuyển đến đúng giao thức. o Trình điều khiển NIC đầy đ (Full NIC driver) đ ợc viết để thực hiện tất cả hoạt động c a phần cứng ri ng biệt và tất cả hoạt động đồng bộ và những hoạt động hàng đợi th ờng đ ợc thực hiện bởi NDIS. Trình điều khiển NIC đầy đ , chẳng hạn nh , duy trì thông tin li n kết c a nó để biểu diễn dữ liệu nhận đ ợc. Nguyễn Văn Trí – D07THM1 Trang 9 Đồ án/ Khóa luận tốt nghiệp Đại học Ch ơng 1.Tổng quan về bắt gói 1.2.2 Trình điều khiển bắt gói. Những thành phần bắt gói th ờng trong suốt v i những mô đun phần mềm khác giống nh những chồng giao thức, do đó nó không ảnh h ởng đến hành vi c a hệ thống chuẩn. Nó chỉ móc thêm vào trong hệ thống và có thể th ờng xuyên cảnh báo thông qua hàm callback đ ợc gọi là tap() ngay khi gói tin m i đến từ mạng. Những thành phần này th ờng đ ợc triển khai nh những trình điều khiển giao thức mạng trong Win32. Trình điều khiển bắt gói đ ợc thêm vào trong nhân c a windows cho khả năng bắt gói dữ liệu thô từ một mạng bằng cách giống nh BPF trong nhân c a UNIX. Thêm nữa, nó cung cấp một vài chức năng, không có trong trình điều khiển BPF gốc, để giúp cho sự phát triển c a những ch ơng trình giám sát và kiểm tra mạng. Điểm chính c a trình điều khiển bắt gói là cho hiệu suất bắt gói cao, tính linh hoạt và tính t ơng tác v i BPF gốc trong UNIX. Kết quả c a trình điều khiển bắt gói có thể: o Bắt gói l u l ợng dữ liệu thô từ mạng và chuyển chúng t i một ứng dụng mức ng ời dùng. o Lọc những gói tin đến bằng việc thực hiện các mã giã BPF. Điều này có nghĩa rằng ứng dụng bắt gói có thể định rõ đ ợc một ch ơng trình BPF chuẩn và chuyển chúng t i trình điều khiển. Trình điều khiển sẽ loại bỏ những gói tin đến không đáp ứng bộ lọc. o Giữ những gói tin trong một bộ đệm khi ứng dụng đang bận hoặc nó không có khả năng đ để chấp nhận hết luồng l u l ợng c a gói tin đến từ mạng. o Thu thập dữ liệu từ vài gói tin đến và trả chúng nh là một đơn vị mà ứng dụng có thể đọc đ ợc. Để duy trì ranh gi i c a gói tin, những gói tin đ ợc bọc một ti u đề ( giống nh là sử dụng BPF) . Ti u đề đó bao gồm một nhãn thời gian (time stamp), chiều dài, và offset c a sắp xếp dữ liệu. o Viết những gói tin thô đến mạng, tức là gửi gói tin lên trên mạng. o Tính toán thống k l u l ợng trên mạng. Kiến trúc chi tiết c a trình điều khiển bắt gói đ ợc trình bày nh hình sau: Nguyễn Văn Trí – D07THM1 Trang 10 Đồ án/ Khóa luận tốt nghiệp Đại học Ch ơng 1.Tổng quan về bắt gói Hình 1.3 Cấu trúc c a trình điều khiển bắt gói Những mũi t n h ng lên trên hình biểu diễn luồng các gói tin từ mạng đến ứng dụng bắt gói. Những mũi t n l n hơn giữa bộ đệm hạt nhân và bộ đệm ứng dụng chỉ thị rằng hơn một gói tin có thể truyền giữa hai thực thể này trong một lời gọi hệ thống. Những mũi t n h ng xuống d i c a hình cho thấy đ ờng đi c a những gói tin từ ứng dụng đến mạng. WinDump và Libpcap không thể gửi gói tin đến mạng, do đó nó sử dụng chỉ một đ ờng từ d i lên trên. Tuy nhi n, trình điều khiển không hạn chế việc sử dụng việc sử dụng WinDump và có thể dùng nó để tạo ra nhiều công cụ mạng m i. Do nguy n nhân đó, nó có thể bao gồm khả năng tạo gói tin mà có thể đ ợc khai thác thông qua việc trực tiếp sử dụng th viện liên kết động packet.dll. Cấu trúc đ ợc biểu diễn trong hình trên ( đó là một adapter đơn và một ứng dụng đơn) là một mô tả đơn giản c a trình điều khiển bắt gói. Cấu trúc thực sự phức tạp hơn nhiều và có thể thấy đ ợc trong hình d i đây. Trong hình này biểu diễn một cấu hình c a trình điều khiển v i hai card mạng và hai ứng dụng bắt gói. Nguyễn Văn Trí – D07THM1 Trang 11 Đồ án/ Khóa luận tốt nghiệp Đại học Ch ơng 1.Tổng quan về bắt gói Hình 1.4 Cấu trúc c a trình điều khiển v i hai adapter và hai ứng dụng Để mỗi phiên bắt gói đ ợc thiết lập giữa một adapter và một ch ơng trình bắt gói, trình điều khiển phải duy trì một bộ lọc và một bộ đệm. Một card mạng có thể đ ợc sử dụng bởi nhiều ứng dụng tại cùng một thời điểm. Cho ví dụ, ng ời sử dụng muốn bắt l u l ợng IP và UDP, và l u chúng đến hai tập tin riêng lẽ, có thể xem hai phiên c a WinDump trên cùng một card mạng (nh ng hai bộ lọc là khác nhau) tại cùng một thời điểm. Phi n đầu tiên sẽ cài đặt một bộ lọc cho gói tin IP ( và một bộ đệm để l u trử chúng), và bộ lọc thứ hai sẽ là dành cho gói UDP. Điều đó có thể biết đến một ứng dụng mà t ơng tác thông qua trình điều khiển bắt gói, có thể nhận gói tin từ nhiều giao tiếp cùng một thời điểm. Chú ý rằng phiên bản cũ hơn 2.02 chỉ có khả năng cấu hình trong Windows 95 và Windows 98 đã đ ợc trình bày trong hình 1.3 ( một adapter đơn và một ứng dụng bắt gói đơn). Điều này do hạn chế trong kiến trúc c a phiên bản này. Từ phiên bản 2.02, trong Windows 95/98 có thể thực hiện đ ợc giống trong Windows NT, có nhiều tr ờng hợp hơn c a trình điều khiển , và nó cho phép nhiều ứng dụng bắt gói có thể làm việc trong cùng một thời điểm. Hơn nữa, nó có thể cho ứng dụng đơn làm việc trên nhiều card mạng khác nhau. Cấu trúc lõi chính ở giữa những phiên bản Windows khác nhau là hoàn toàn giống nhau. Cấu trúc dữ liệu bên trong không khác hoàn toàn, bộ đệm gói tin và bộ lọc đ ợc điều khiển trong cùng một đ ờng. Tính t ơng tác v i NDIS là giống nhau trong những nền tảng khác nhau và nó làm đ ợc bằng cách đ a ra tập những hàm Nguyễn Văn Trí – D07THM1 Trang 12 Đồ án/ Khóa luận tốt nghiệp Đại học Ch ơng 1.Tổng quan về bắt gói callback đ ợc cung cấp bởi trình điều khiển và một nhóm hàm th viện NDIS (NdisTransferData, NdisSend...) đ ợc sử dụng bởi trình điều khiển bắt gói để giao tiếp trình điều khiển NIC. Sự khác nhau giữa mối quan hệ và sự t ơng tác v i những phần khác nhau c a hệ điều hành ( những lời gọi đọc và viết đ ợc xử lý từ ứng dụng mức ng ời dùng, hàm thời gian….) từ đó hoạt động c a những hệ điều hành sẽ khác nhau hoàn toàn. Hành động đầu ti n đ ợc thực hiện bởi hàm tap() là lọc, tức là những gói tin đ ợc phân tích để dò tìm cái nào là những gói tin mà ng ời dùng thích. Đ ợc cung cấp từ BPF, máy lọc c a NPF là một bộ xử lý ảo v i những tập đơn c a những chỉ thị mà có thể thực hiện một vài xử lý cơ bản trên bộ đệm chung chứa các byte. Winpcap (và libpcap) cung cấp một API mức ng ời dùng có thể chuyển nhanh lên mức cao ( ví dụ nh chỉ đón những gói tin UDP) đến tập hợp chỉ thị mã giả ( chẳng hạn nh nếu tr ờng Ethernet type c a phần ti u đề Ethernet là IP và tr ờng protocol type c a ti u đề IP là bằng 17, thì nó sẽ trả ra là đúng) và gửi gói tin đến máy lọc, kích hoạt chúng. Kiến trúc đ ợc đề cử áp dụng một bộ lọc gói tin trong khi nó v n l u trong bộ đệm c a trình điều khiển NIC, do đó tránh sao ch p những gói tin không cần thiết, mặc dù nó đã dùng tài nguy n bus bởi vì nó đ ợc truyền đến bộ nh hệ thống. Gói tin đ ợc chấp nhận bởi bộ lọc đ ợc kết hợp v i thông tin l p vật lý, nh là chiều dài và nhãn thời gian nhận đ ợc, cái mà có ích cho truy cập ứng dụng và xử lý chúng. Gói tin đ ợc sao ch p đến bộ đệm, th ờng biết là bộ đệm hạt nhân (kernel buffer), cái mà l u trữ những gói tin đang chờ đ ợc chuyển t i mức ng ời dùng ( xem hình 1.2). Kích th c và kiến trúc c a bộ đệm này là một thống số quan trọng cho việc thực thi quá trình xử lý bắt gói. Cho ví dụ, nếu hệ thông bộ đệm đ ợc thiết kế tốt và l n thì có thể bù cho sự chậm chạp c a ứng dụng trong khi bùng nổ mạng hoặc giảm số lời gọi hệ thống yêu cầu bởi chuyển dữ liệu từ trình điều khiển bắt gói ( chẳng hạn từ bộ đệm nhân t i ứng dụng). Những ứng dụng ng ời dùng lấy những gói tin từ bộ đệm nhân bởi một lời gọi hệ thống giống nh là đọc, khi NPF đ ợc phát triển, lời gọi này sẽ gây nên một lời khẩn cầu c a hàm read() (xem hình 1.1), cái mà sẽ kiểm tra xem trạng thái c a bộ đệm nhân NPF : Nếu bộ đệm là không rỗng, nội dung c a nó đ ợc chuyển đến một bộ đệm đ ợc cấp phát bởi ng ời dùng, ở đây là user-buffer trong hình 1.1. Ứng dụng đ ợc đánh thức khi mà một dữ liệu đ ợc sao ch p đến mức ng ời dùng đo đó nó có thể bắt đầu xử lý những gói tin. 1.3 Tƣơng tác với NDIS Chú ý rằng không phải tất cả các phiên bản UNIX đều có BPF (ví dụ khả năng lọc và đệm trong hạt nhân), nh ng các th viện pcap có thể bù đắp sự thiếu hụt này. Kiến trúc có thể làm việc bằng cách lọc các gói tin theo cách t ơng thích BPF ở mức ng ời dùng. Giải pháp này đ ợc làm theo bản phát hành đầu ti n Nguyễn Văn Trí – D07THM1 Trang 13 Đồ án/ Khóa luận tốt nghiệp Đại học Ch ơng 1.Tổng quan về bắt gói c a trình điều khiển gói NDIS. Nó là dễ dàng hơn để thực hiện nh ng nó lại hạn chế hiệu suất đặt biệt cho hai lý do sau: - Xử lý lọc đ ợc thực hiện tại mức nhân, do đó mỗi gói tin phải đ ợc sao ch p từ bộ đệm nhân đến bộ đệm ứng dụng tr c khi dò tìm nếu ứng dụng muốn nó. Điều này rõ ràng sẽ lãng phí thời gian và bộ nh CPU. Nếu xử lý bộ lọc đã đ ợc thực hiện trong nhân, tất cả những gói tin không cần cho ứng dụng bắt gói đ ợc bỏ đi bởi hệ thống và không ch p nó đến mức ng ời sử dụng. - Không có bộ đệm nào cho gói tin trong nhân. Trong môi tr ờng đa nhiệm, ứng dụng bắt gòi phải chia sẽ thời gian xử lý v i ứng dụng khác. Điều đó có thể ứng dụng bắt gói sẽ không đ ợc thực hiện khi gói tin đến. Hơn nữa, ứng dụng có thể làm nhiều nhiệm vụ khác và có thể không chờ gói tin đến. Việc thiếu bộ đệm hạt nhân, trong một vài tình huống sẽ làm mất gói. Do những nguy n nhân đó ảnh h ởng đến việc triển khai c a việc lọc và đệm lại gói tin trong trình điều khiển bắt gói . NDIS (Network Driver Interface Specification) là một tập các chỉ d n mà đ ợc định nghĩa giao tiếp giữa card mạng( hoặc, tốt hơn, là trình điều khiển quản lý nó) và trình điều khiển giao thức (IP,IPX..) . Mục đích chính c a NDIS là hoạt động nh là một trình bao bọc(wrapper) mà cho ph p trình điều khiển giao thức gửi và nhận các gói tin tr n mạng (LAN hay WAN) không cần phải quan tâm adapter ri ng biệt hay hệ điều hành Win32 ri ng biệt. 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. Mặc định Windows NT AdvancedServer đ ợc cung cấp sử dụng bốn giao thức đó là NetBEUI (NetBIOSExtended User Interface), TCP/IP, Microsoft NWLINK, và Data Link Control.TDI cung cấp khả năng nói chuyện giữa các giao thức mạng v i các phần mềm mạng mức trên (nh Server và Redirector). Bất cứ trạm làm việc nào (sử dụng hệ điều hành Windows NT Workstation) đều có thể các trình điều khiển điều khiển card mạng đ ợc cung cấp nội tại trong Windows NT Advanced Server.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 Windows NT, 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 đó. Nguyễn Văn Trí – D07THM1 Trang 14 Đồ án/ Khóa luận tốt nghiệp Đại học Ch ơng 1.Tổng quan về bắt gói NDIS hổ trợ 3 loại trình điều khiển mạng:  Card giao tiếp mạng hay NIC driver (Network interface card or NIC drivers ). Trình điều khiển NIC quản lý trực tiếp đến card mạng, tham khảo nh là NICs. Giao diện trình điều khiển NIC trực tiếp đến phần cứng tại bi n thấp hơn c a nó và bi n cao hơn c a nó thể hiện một giao tiếp cho ph p l p cao hơn có thể gửi gói tin l n mạng, xử lý ngắt, khởi động lại NIC, dừng NIC và chờ, thiết lập đặc điểm hoạt động c a trình điều khiển. Một trình điều khiển không thể giao tiếp v i ứng dụng mức ng ời dùng, nh ng chỉ v i trình điều khiển trung gian NDIS hoặc trình điều khiển giao thức. Trình điều khiển NIC có thể hoặc là những miniport hoặc là trình điều khiển NIC đầy đ đ ợc kế thừa. o Trình điều khiển Miniport chỉ đ ợc triển khai thực hiện tr n một phần cứng ri ng biệt cần thiết để quản lý một NIC, bao gồm việc gửi và nhận dữ liệu tr n NIC. Thống nhất các hoạt động đến tất cả trình điều khiển NIC ở mức thấp nhất, ví dụ nh là việc đồng bộ, đ ợc cung cấp bởi NDIS. Miniports không gọi th tục hệ điều hành trực tiếp; giao tiếp c a nó đối v i hệ điều hành là NDIS. Một Miniport không giữ lại dấu vết c a sự li n kết. Nó chỉ chuyển gói tin đến NDIS và NDIS đảm bảo rằng những gói tin đó đ ợc chuyển đến đúng giao thức. o Trình điều khiển NIC đầy đ (Full NIC driver) đ ợc viết để thực hiện tất cả hoạt động c a phần cứng ri ng biệt và tất cả hoạt động đồng bộ và những hoạt động hàng đợi th ờng đ ợc thực hiện bởi NDIS. Trình điều khiển NIC đầy đ , chẳng hạn nh , duy trì thông tin li n kết c a nó để biểu diễn dữ liệu nhận đ ợc.  Trình điều khiển trung gian (Intermediate drivers).Giao tiếp trình điều khiển trung gian ở giữa trình điều khiển mức cao hơn nh là một trình điều khiển chuyển vận kế thừa và một miniport. Về trình điều khiển mức cao hơn, một trình điều khiển trung gian đ ợc xem giống nh một miniport. Về một miniport, trình điều khiển trung gian đ ợc xem nh là một trình điều khiển giao thức. Một trình điều khiển giao thức trung gian có l p cao đứng tr n một trình điều khiển trung gian khác mặc dù l p đó có thể có một hiệu quả ti u cực tr n khả năng thực thi c a hệ thống. Một nguy n nhân đặc tr ng cho việc phát triển một trình điều khiển trung gian là để thực hiện chuyển đổi môi tr ờng giữa một trình điều khiển chuyển vận kế thừa ( transport driver) và một miniport mà quản lý một NIC cho một loại môi tr ờng m i không biết đến transport driver. Cho ví dụ, một trình điều khiển trung gian có thể chuyển từ giao thức LAN đến giao thức ATM. Một trình điều khiển Nguyễn Văn Trí – D07THM1 Trang 15 Đồ án/ Khóa luận tốt nghiệp Đại học Ch ơng 1.Tổng quan về bắt gói trung gian không thể giao tiếp v i ứng dụng ở chế độ ng ời dùng, mà chỉ có thể thông qua trình điều khiển NDIS khác.  Trình điều khiển chuyển vận hoặc trình điều khiển giao thức (Transport drivers or protocol drivers). Một trình điều khiển giao thức thực hiện một chồng giao thức mạng giống nh là IPX/SPX hoặc TCP/IP, cung cấp dịch vụ tr n một hoặc nhiều card mạng. Một trình điều khiển chuyển vận đảm bảo dịch vụ ở l p ứng dụng tr n client tại bi n tr n c a nó và kết nối đến một hoặc nhiều trình điều khiển NIC hoặc trình điều khiển NDIS trung gian tại bi n d i nó. Hình d i đây cho thấy một ví dụ về cấu trúc NDIS v i hai chồng bắt gói trên cùng một card mạng: một v i trình điều khiển NIC và một trình điều khiển giao thức, khác v i một trình điều khiển NIC , một trình điều khiển trung gian và một trình điều khiển giao thức. Hình 1.5 Một kiến trúc NDIS đơn giản Trình điều khiển bắt gói tin cần giao tiếp cả v i trình điều khiển mạng ( để nhận dữ liệu từ mạng) và v i ứng dụng mức ng ời dùng( để cung cấp gói tin đến ng ời dùng), do đó nó đ ợc triển khai trong một cấu trúc NDIS nh một trình điều khiển giao thức. Điều này cho phép nó có thể độc lập từ phần cứng mạng, do đó việc thực hiện v i tất cả card mạng đ ợc hổ trợ bởi Windows. Tuy nhiên cần chú ý rằng trình điều khiển bắt gói chỉ làm việc ngay lập tức trên Ethernet adapter, loopback adapter Nguyễn Văn Trí – D07THM1 Trang 16
- Xem thêm -

Tài liệu liên quan

Tài liệu xem nhiều nhất