Npcap (Winpcap) là ứng dụng hữu ích được thiết kế để hỗ trợ người dùng truy cập mạng ở tầng liên kết dữ liệu trong môi trường Windows.
Npcap (Winpcap) cho phép các các ứng dụng bắt và truyền tải các gói dữ liệu mạng, đồng thời cung cấp các tính năng hữu ích khác như công cụ mạng lưới thống kê, bộ lọc gói mạng mức kernel và hỗ trợ các gói chụp từ xa.
Npcap (Winpcap) là gì?
Npcap bao gồm một trình điều khiển giúp mở rộng hệ điều hành để cung cấp khả năng truy cập mạng ở mức độ thấp. Đồng thời, một thư viện được sử dụng để cho phép bạn dễ dàng truy cập các lớp mạng ở mức độ thấp. Thư viện này cũng chứa phiên bản Windows của libpcap Unix API.
Nhờ một loạt các tính năng hữu ích, Npcap chính là tiện ích lọc và chụp gói dữ liệu hiệu quả nhất của nhiều công cụ mã nguồn mở như: công cụ phân tích giao thức, hệ thống phát hiện xâm nhập mạng, bộ tạo lưu lượng truy cập, công cụ kiểm tra mạng và công cụ quét mạng. Một số công cụ mạng như: Wireshark, Nmap, Snort được biết đến và sử dụng trong khắp cộng đồng mạng.
Npcap (Winpcap) được phát hành dựa trên giấy phép mã nguồn mở BSD. Điều này có nghĩa rằng bạn hoàn toàn có thể thay đổi và sử dụng nó cùng với ứng dụng của bạn. Mã nhị phân và mã nguồn luôn có sẵn ở đây.
Tính năng chính của Npcap
Npcap (Winpcap) cho Windows 10: Npcap chạy trên Windows 7 trở lên bằng cách sử dụng API NDIS 6 Light-Weight Filter (LWF) mới. Nó chạy nhanh hơn API NDIS 5 cũ mà Microsoft có thể xóa bất kỳ lúc nào. Ngoài ra, driver có chứng chỉ EV đã được Microsoft ký, nó có thể chạy trên driver yêu cầu đăng ký nghiêm ngặt hơn ở Windows 10 1607.
Tăng cường bảo mật: Npcap có thể giới hạn quyền chỉ quản trị viên mới có thể nhận diện các gói tin. Nếu một người dùng không phải quản trị viên sử dụng Npcap qua phần mềm như Nmap hoặc Wireshark, người đó sẽ phải chuyển qua hộp thoại User Account Control (UAC) để sử dụng driver. Nó tương tự như UNIX, nơi truy cập root thường yêu cầu các gói tin. Npcap cũng kích hoạt tính năng bảo mật ASLR & DEP và đã ký driver để ngăn chặn hành vi giả mạo.
Nạp các gói tin vòng trở lại (loopback): Npcap hỗ trợ phát hiện các gói tin loopback bằng cách sử dụng nền tảng lọc của Windows (WFP). Sau khi cài đặt, Npcap sẽ tạo bộ điều hợp mang tên Npcap Loopback cho bạn. Nếu bạn là người dùng Wireshark, hãy chọn bộ điều hợp này để nạp các gói tin, bạn sẽ thấy lưu lượng loopback như khi sử dụng adapter không loopback. Hãy thử nó bằng cách gõ lệnh như “ping 127.0.0.1” (IPv4) hoặc “ping ::1” (IPv6).
Nhúng gói tin vòng trở lại: Npcap cũng gửi các gói tin loopback bằng kỹ thuật Winsock Kernel (WSK). Phần mềm cấp người dùng như Nping chỉ có thể gửi các gói tin ra bên ngoài bằng adpter Ncap Loopback giống như adapter bất kỳ. Sau đó, Npcap thực thi “phép thuật” loại bỏ tiêu đề Ethernet của gói và đưa payload vào ngăn xếp TCP / IP của Windows.
API Libcab: Npcap sử dụng thư viện Libcap tuyệt vời, kích hoạt các ứng dụng Windows để sử dụng một gói API bắt gói tin di động, hỗ trợ cả Linux và Mac OS X. Trong khi Winpcap dựa trên LibPcap 1.0.0 từ 2009, Npcap bao gồm bản phát hành Libcap mới nhất cùng với các cải tiến khác.
Khả năng tương thích của Npcap: Đối với những ứng dụng chưa sử dụng các tính năng cao cấp của Npcap. Npcap có thể được cài trong “Npcap (Winpcap) Compatible Mode.” Tính năng này thay thế bản cài Npcap (Winpcap) bất kỳ. Nếu chế độ tương thích không được lựa chọn, Npcap tồn tại song song cùng Winpcap. Các ứng dụng chỉ biết Winpcap sẽ tiếp tục sử dụng nó, trong khi những ứng dụng khác có thể chọn dùng driver Npcap mới và nhanh hơn.
Cập nhật Npcap mới nhất
Npcap 0.9995
Sửa lỗi treo BSoD trong NPF_Read khi mô-đun bộ lọc NDIS được tháo khỏi adapter.
Trên Windows 10, Npcap driver được cập nhật lên NDIS 6.50 và tương thích với Windows 10 WFP, hỗ trợ cải thiện mạng như RSC.
Tuân thủ kích thước frame tối đa cho adapter theo truy vấn OID_GEN_MAXIMUM_TOTAL_SIZE thay vì dùng MTU, không bao gồm không gian cho header của lớp link.
Sửa lỗi dò khi dùng tài nguyên Npcap để gỡ cài đặt hoặc nâng cấp.
Tuân theo snaplen (pcap_set_snaplen()) ngay cả khi chưa thiết lập bộ lọc gói.
Nâng cấp để chống lại pool/slab allocator, cho phép giải phóng bộ nhớ khi không sử dụng.
Khi cài đặt Npcap OEM trong chế độ silent, tránh chạy C:\Uninstall.exe nếu không thoát quy trình cài đặt Npcap hiện tại.
Npcap 0.9981
Khi nâng cấp Npcap, không gỡ cài đặt Npcap hiện tại cho tới khi người dùng click nút Install.
Xác định lại mã điều khiển I/O được sử dụng bởi Npcap khi dùng macro CTL_CODE để đảm bảo kiểm soát và khớp thông số phù hợp. Đây không phải API đã xuất nhưng thay đổi sẽ cần Packet.DLL và driver Npcap cùng phiên bản.
Sửa lỗi tràn 1-byte trong NPFInstall.exe khi đóng các quá trình đang dùng Npcap DLLs.
Trong trường hợp PacketOpenAdapter được đặt tên trong UTF-16LE, biên dịch nó sang ASCII trước khi tiến hành các hoạt động chuỗi.
Sắp xếp lại đáng kể cấu trúc dữ liệu nội bộ để giảm mức sử dụng bộ nhớ và chi phí khởi tạo.