All Projects → scivision → findssh

scivision / findssh

Licence: MIT License
Asyncio concurrent Python finds SSH servers (or other services with open ports) on an IPv4 subnet, WITHOUT NMAP

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to findssh

Pycurity
Python Security Scripts
Stars: ✭ 218 (+505.56%)
Mutual labels:  nmap, port-scanner
Silver
Mass scan IPs for vulnerable services
Stars: ✭ 588 (+1533.33%)
Mutual labels:  nmap, port-scanner
Nmap
Nmap - the Network Mapper. Github mirror of official SVN repository.
Stars: ✭ 5,792 (+15988.89%)
Mutual labels:  nmap, port-scanner
Sandmap
Nmap on steroids. Simple CLI with the ability to run pure Nmap engine, 31 modules with 459 scan profiles.
Stars: ✭ 1,180 (+3177.78%)
Mutual labels:  nmap, port-scanner
Awesome Internet Scanning
A curated list of awesome Internet port and host scanners, plus related components and much more, with a focus on free and open source projects.
Stars: ✭ 130 (+261.11%)
Mutual labels:  nmap, port-scanner
Pbscan
Faster and more efficient stateless SYN scanner and banner grabber due to userland TCP/IP stack usage.
Stars: ✭ 122 (+238.89%)
Mutual labels:  nmap, port-scanner
Grab.js
fast TCP banner grabbing with node.js
Stars: ✭ 33 (-8.33%)
Mutual labels:  nmap, port-scanner
Asset Scan
asset-scan是一款适用甲方企业的外网资产周期性扫描监控系统
Stars: ✭ 149 (+313.89%)
Mutual labels:  nmap, port-scanner
nmap-formatter
A tool that allows you to convert NMAP results to html, csv, json, markdown, graphviz (dot). Simply put it's nmap converter.
Stars: ✭ 129 (+258.33%)
Mutual labels:  nmap, port-scanner
nmap vscan
nmap service and application version detection (without nmap installation)
Stars: ✭ 105 (+191.67%)
Mutual labels:  nmap
fastapi-boilerplate
FastAPI boilerplate for real world production
Stars: ✭ 145 (+302.78%)
Mutual labels:  asyncio
PortScanner
A go-to tool for scanning network. Scan all the open ports for a given host with just one click.
Stars: ✭ 99 (+175%)
Mutual labels:  port-scanner
deeppyer
Image deepfryer written in Python.
Stars: ✭ 36 (+0%)
Mutual labels:  asyncio
automate-home
Yet another python home automation (iot) project. Because a smart light is more than just on or off.
Stars: ✭ 59 (+63.89%)
Mutual labels:  asyncio
webnettools
Web Net Tools is a web frontend for some useful command line tooling. It provides especially an web frontend for tools like testssl.sh and nmap.
Stars: ✭ 33 (-8.33%)
Mutual labels:  nmap
astsu
A network scanner tool, developed in Python 3 using scapy.
Stars: ✭ 84 (+133.33%)
Mutual labels:  port-scanner
pomp
Screen scraping and web crawling framework
Stars: ✭ 61 (+69.44%)
Mutual labels:  asyncio
dvhb-hybrid
A package to mix django and asyncio in one application
Stars: ✭ 45 (+25%)
Mutual labels:  asyncio
wot-py
WoTPy is an experimental implementation of a W3C Web of Things runtime
Stars: ✭ 22 (-38.89%)
Mutual labels:  asyncio
rigor
HTTP-based DSL for for validating RESTful APIs
Stars: ✭ 65 (+80.56%)
Mutual labels:  asyncio

Find SSH servers (without NMAP)

DOI ci Language grade: Python PyPi Download stats

Platform-independently find SSH servers (or other services with open ports) on an IPv4 subnet in pure Python WITHOUT NMAP. Scan entire IPv4 subnet in less than 1 second using Python standard library asyncio coroutines and a single thread.

The asyncio coroutine method uses ONE thread and is significantly faster than concurrent.futures.ThreadPoolExecutor, even (perhaps especially) with hundreds of threads in the ThreadPool.

Although speed advantages weren't seen in our testing, findssh works with PyPy as well.

pip install findssh

or from this repo:

git clone https://github.com/scivision/findssh

pip install -e findssh

Usage

from command line:

findssh

or

python -m findssh

Command line options

  • -s check the string from the server to attempt to verify the correct service has been found
  • -t timeout per server (seconds) useful for high latency connection
  • -b baseip (check other subnet besides your own)
  • -p network port to scan (default 22)

Benchmark

These tests used 500 ms timeout on WiFi.

Coroutine (single thread, fast, lean, recommended):

%timeit findssh.main()

522 ms ± 1.26 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

Thread pool (100 thread max, slow, heavy):

%timeit findssh.threadpool.main()

1.39 s ± 213 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].