Network service scanner application written in C++.
SvcScan is a network port scanner that uses TCP network sockets to perform targeted service scanning (C++ 20).
- Multithreaded port scanning
- TCP socket banner grabbing
- SSL/TLS encrypted communications
- HTTP/HTTPS server probing
- Concurrent network connections
- Plain text and JSON scan reports
svcscan.exe [OPTIONS] TARGETsvcscan.exe [OPTIONS] TARGET PORTAll available SvcScan command-line arguments are listed below:
| Argument | Type | Description | Default |
|---|---|---|---|
TARGET |
Required | Target address or host name | N/A |
-p/--port PORT |
Required | Target ports (comma delimited) | N/A |
-v, --verbose |
Optional | Enable verbose console output | False |
-s, --ssl |
Optional | Enable SSL/TLS communications | False |
-j, --json |
Optional | Output the scan results as JSON | False |
-o/--output PATH |
Optional | Write the scan results to a file | N/A |
-t/--timeout MS |
Optional | Connection timeout in milliseconds | 3500 |
-T/--threads NUM |
Optional | Scanner thread pool thread count | Local thread count or 16 |
-c/--curl [URI] |
Optional | Use HTTP method GET instead of HEAD | / |
-h/-?, --help |
Optional | Display the help menu and exit | False |
See the Usage Examples section for more information.
SvcScan can be automatically configured and installed or updated using the installer in the tools directory.
It can be installed manually by building from source or using the precompiled standalone executables in the Zips directory.
Download and execute the svcscan-install.ps1 installer script using PowerShell:
irm -d "https://raw.githubusercontent.com/vandavey/SvcScan/main/tools/svcscan-install.ps1" | powershell -svcscan-install.ps1 only supports x64 and x86 architectures and must be executed as an administrator.
SvcScan can be manually installed using the following precompiled standalone executables:
It can be built from source by compiling SvcScan.vcxproj after installing the dependencies detailed in the Dependencies section.
SvcScan can be uninstalled automatically using the uninstaller in the tools directory.
It can be uninstalled manually by deleting the install directory and removing it from the local environment path.
Execute the svcscan-uninstall.ps1 uninstaller script using PowerShell:
gc "${env:ProgramFiles}\SvcScan\svcscan-uninstall.ps1" | powershell -svcscan-uninstall.ps1 only supports x64 and x86 architectures and must be executed as an administrator.
Print the application help menu, then exit:
svcscan.exe --helpScan port 80 against localhost:
svcscan.exe -p 80 localhostScan ports 22 through 25 against joe-mama:
svcscan.exe joe-mama 22-25Scan ports 443 and 6667 against 192.168.1.1 using an
SSL/TLS capable scanner and display verbose scan output:
svcscan.exe -vsp 443,6667 192.168.1.1Scan ports 80, 443, and 20 through 40 against localhost using a thread
pool with 8 threads and set the connection timeout to 4000 milliseconds:
svcscan.exe -t 4000 -T 8 -p 80,443,20-40 localhostThe default thread pool size will be used if the specified thread count is greater than 32.
Scan ports 6667 and 6697 against 192.168.1.100 with verbose output displayed
and save a JSON scan report to file path svcscan-test.json:
svcscan.exe -vjo svcscan-test.json 192.168.1.100 6667,6697Scan port 80 against 10.0.0.1 and perform HTTP or
HTTPS probing using method GET and URI /admin:
svcscan.exe --ssl --verbose --curl /admin 10.0.0.1 80
-c/--curlmust be passed as the final command-line argument when no explicit URI is provided.
To run the prebuilt application executable, no dependencies are required.
To compile SvcScan, the following Boost C++ libraries
and their dependencies must be installed through vcpkg
using triplets x64-windows-static and x86-windows-static:
-
Library for networking and other low level I/O functionality.
-
Library for HTTP, WebSocket, and networking functionality.
-
Library for generating forwarding call wrappers.
-
Library for JSON parsing, serialization, and DOM.
Once vcpkg is installed, the following command can be used to install all required Boost libraries:
vcpkg.exe install "boost:x64-windows-static" "boost:x86-windows-static"- This application currently only supports Windows operating systems.
- Please use discretion as this application is still in development.
SvcScan is licensed under the MIT license and officially hosted in this repository.