All Projects → nray-scanner → Nray

nray-scanner / Nray

Licence: gpl-3.0
nray distributed port scanner

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Nray

Pentest dic
自己收集整理自用的字典
Stars: ✭ 96 (-23.2%)
Mutual labels:  pentest
Dllpasswordfilterimplant
DLL Password Filter Implant with Exfiltration Capabilities
Stars: ✭ 107 (-14.4%)
Mutual labels:  pentest
Shodan Dorks
Dorks for shodan.io. Some basic shodan dorks collected from publicly available data.
Stars: ✭ 118 (-5.6%)
Mutual labels:  pentest
Ssrfmap
Automatic SSRF fuzzer and exploitation tool
Stars: ✭ 1,344 (+975.2%)
Mutual labels:  pentest
Collection Document
Collection of quality safety articles. Awesome articles.
Stars: ✭ 1,387 (+1009.6%)
Mutual labels:  pentest
Owtf
Offensive Web Testing Framework (OWTF), is a framework which tries to unite great tools and make pen testing more efficient http://owtf.org https://twitter.com/owtfp
Stars: ✭ 1,516 (+1112.8%)
Mutual labels:  pentest
Robustpentestmacro
This is a rich-featured Visual Basic macro code for use during Penetration Testing assignments, implementing various advanced post-exploitation techniques.
Stars: ✭ 95 (-24%)
Mutual labels:  pentest
Purplecloud
An Infrastructure as Code (IaC) deployment of a small Active Directory pentest lab in the cloud. The deployment simulates a semi-realistic corporate enterprise Active Directory with a DC and endpoints. Purple team goals include blue team detection capabilities and R&D for detection engineering new approaches.
Stars: ✭ 122 (-2.4%)
Mutual labels:  pentest
Hacker Container
Container with all the list of useful tools/commands while hacking and pentesting Kubernetes Clusters
Stars: ✭ 105 (-16%)
Mutual labels:  pentest
Sippts
Set of tools to audit SIP based VoIP Systems
Stars: ✭ 116 (-7.2%)
Mutual labels:  pentest
Kratosknife
KratosKnife is a Advanced BOTNET Written in python 3 for Windows OS. Comes With Lot of Advanced Features such as Persistence & VM Detection Methods, Built-in Binder, etc
Stars: ✭ 97 (-22.4%)
Mutual labels:  pentest
Keye
Keye is a reconnaissance tool that was written in Python with SQLite3 integrated. After adding a single URL, or a list of URLs, it will make a request to these URLs and try to detect changes based on their response's body length.
Stars: ✭ 101 (-19.2%)
Mutual labels:  pentest
Catnip
Cat-Nip Automated Basic Pentest Tool - Designed For Kali Linux
Stars: ✭ 108 (-13.6%)
Mutual labels:  pentest
Web Brutator
Fast Modular Web Interfaces Bruteforcer
Stars: ✭ 97 (-22.4%)
Mutual labels:  pentest
Defaultcreds Cheat Sheet
One place for all the default credentials to assist the Blue/Red teamers activities on finding devices with default password 🛡️
Stars: ✭ 1,949 (+1459.2%)
Mutual labels:  pentest
Feroxbuster
A fast, simple, recursive content discovery tool written in Rust.
Stars: ✭ 1,314 (+951.2%)
Mutual labels:  pentest
Bruteforce Http Auth
Bruteforce HTTP Authentication
Stars: ✭ 107 (-14.4%)
Mutual labels:  pentest
C2hack
C2Hack, sharing tips and tricks for pentesters
Stars: ✭ 124 (-0.8%)
Mutual labels:  pentest
Ssrf Testing
SSRF (Server Side Request Forgery) testing resources
Stars: ✭ 1,718 (+1274.4%)
Mutual labels:  pentest
Vulrec
Vulnerability Recurrence:漏洞复现记录
Stars: ✭ 109 (-12.8%)
Mutual labels:  pentest

nray

Overview

Nray is a free, platform and architecture independent port and application layer scanner. Apart from regular targets (list of hosts/networks), it supports dynamic target selection, based on source like certificate transparency logs or LDAP. Furthermore, nray allow to run in a distributed manner to speed up scans and to perform scans from different vantage points. Event-based results allow to further process information during the scan, e.g. using tools like jq or full-blown data analysis platforms like elasticsearch or Splunk.

This is the main repository where nray is developed. Downloads are here. If you are looking for user documentation, have a look at the project homepage. For information related to developing and contributing to nray, continue reading.

Nray is written in pure Go and its versioning follows the semantic versioning model. The development follows Vincent Driessen's "A successful git branching" model, therefore we try to keep the master branch stable and in line with releases whereas development happens on the development branch as well as branches derived from there.

Building

Care was taken to mostly stay in line with Go's build system, meaning that the project can be built with a plain go build. Nray is written in pure Go and care was taken to select only dependencies that also fulfill this requirement, therefore a standard Go installation (plus git) is enough to build nray on and for any supported platform.

With makefile

Nevertheless, there is a makefile that is supposed to be used for building production versions (make release) - it ensures that no C dependencies are linked in and symbols are stripped from binaries to save space. Also, binaries for most common operating systems are created automatically. A call to make will build a local development version, tailored to your current OS and architecture with C libraries and Go's race detector linked in.

Without makefile

Simply run go build - in case cross compiling is desired, GOOS and GOARCH parameters control target OS and architecture. For nodes, it is possible to inject server location and port directly into the binary: go build -ldflags "-X main.server=10.0.0.1 -X main.port=8601". To get smaller binaries, strip stuff that is not necessary away via -ldflags="-s -w" when calling go build. If you need to rebuild the protobuf schemas (this is not required unless you change the wire protocol!), run make create-schemas (which requires the protobuf compiler on your system).

Docker (building)

Releases are built using the official Go Docker container. This is supposed to ensure a clean build regardless of development environment, distribution etc.

If you are unfamiliar with setting up Go or encounter any other problems, docker run --rm -v "$PWD":/nray -w /nray golang:latest make release can be used to build the release binaries in a clean environment using Docker.

Docker (running)

There are two official nray images that can be built using the Dockerfiles provided or by pulling the respective images from Docker Hub.

The first image is based on Docker's scratch image, meaning that there is no usable user space. This image is really small since it contains only nray.

The second image is based on Debian and brings some user space which makes it suitable to manually interacting with the container.

Contributing and Development

Just grab the code and fix stuff that annoys you or hack in new awesome features! Every contribution is welcome and the goal is to make nray an awesome project for users and contributors!

Your code should pass standard checks performed by go vet and go lint. I recommend using Visual Studio Code with its Go support enabled, it is a really good IDE that brings such issues up early. Nray is always developed against the latest Go release, so if you are having trouble building nray, check if you have the latest go version installed.

Creating issues

Before opening issues, please check

  • Did you read the documentation?
  • Are there already similar issues?
  • Provide as much environment information as possible: Architecture, operating system, Go version, configuration used etc.
  • Try to give steps on how to reproduce the error
  • Please use proper formatting, especially for logs (code tags). This greatly increases readability and the chance that somebody looks after your issue.

Legal stuff

Copyright 2019 by Michael Eder. Licensed under GPLv3. See LICENSE.

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].