5 releases (breaking)

0.26.0 Dec 24, 2023
0.25.0 Dec 22, 2023
0.24.0 Dec 10, 2023
0.23.0 Dec 3, 2023
0.22.0 Nov 21, 2023

#1943 in Network programming

Download history 736/week @ 2023-11-19 1227/week @ 2023-11-26 902/week @ 2023-12-03 509/week @ 2023-12-10 720/week @ 2023-12-17 752/week @ 2023-12-24 964/week @ 2023-12-31 648/week @ 2024-01-07 339/week @ 2024-01-14 89/week @ 2024-01-21 679/week @ 2024-01-28 1012/week @ 2024-02-04 692/week @ 2024-02-11

2,519 downloads per month
Used in 5 crates (2 directly)

MIT license

16KB
328 lines

netscan Crates.io License

Cross-platform network scan library
with the aim of being lightweight and fast.

Features

  • Port Scan (IPv4, IPv6)
    • TCP SYN scan
    • TCP CONNECT scan
  • Host Scan (IPv4, IPv6)
    • ICMP PING scan
    • TCP PING scan
    • UDP PING scan

Usage

Add netscan to your dependencies

[dependencies]
netscan = "0.26"

Example

See Examples

Feature flags

The following feature flags can be used to enable/disable specific features.

--feature service

Enable service detection.

--feature os

Enable TCP/IP Stack Fingerprinting.

--feature full

Enable all of the above.

For more details see Examples

Supported platform

  • Linux
  • macOS
  • Windows

Privileges

This library requires the ability to create raw sockets. Execute with administrator privileges.

Note for Windows Users

If you are using Windows, please consider the following points before building and running:

  • Npcap or WinPcap Installation:
    • Ensure that you have Npcap or WinPcap installed on your system.
    • If using Npcap, make sure to install it with the "Install Npcap in WinPcap API-compatible Mode" option.
  • Build Dependencies:
    • Place the Packet.lib file from the Npcap SDK or WinPcap Developers pack in a directory named lib at the root of this repository.
    • You can use any of the locations listed in the %LIB% or $Env:LIB environment variables.
    • For the 64-bit toolchain, the Packet.lib is located in /Lib/x64/Packet.lib.
    • For the 32-bit toolchain, the Packet.lib is located in /Lib/Packet.lib.

Dependencies

~7–42MB
~640K SLoC