/A-Scanner

A port scanner based on java development, using multithreading to quickly scan host ports

Primary LanguageJavaApache License 2.0Apache-2.0

Table of Contents

Background

Whether you are engaged in development testing or security penetration, you need to do some necessary information collection. Therefore, a port scanner based on Java language development is simply written to meet the requirements.

Currently available features:

  • Scan on the Internet
  • Scan against a target IPv4
  • Scan against a target domain
  • Scan the unique network segments identified by CIDR or IP + subnet mask
  • Query domain whois information

Scan types include: scan a specified port, scan common ports, scan all ports

v 2.0 Features to be added later:

  • IPv6 support
  • Increase system fingerprint recognition
  • Slow scan and firewall bypass

Install

Java environment install

If the system has installed the Java runtime environment or Java development kit and the Java version is 8 or above, this step can be skipped. You can check the Java version:

java -version

If Java is not installed or the Java version is lower than 8, install the Java 8 environment:

Download JDK from Oracle official website:

JDK download

After downloading the compressed package, unzip it to the folder where you placed the environment, and configure the environment variables, so I won’t go into details here.

Download the Jar archive and run

Download the latest jar archive from the releases page

go to releases

Usage

Scan target host 192.168.2.1 common port:

java -jar A-Scanner-v1.0.0.jar -m target -t 192.168.2.1 -p simple

Scan target host 192.168.2.1 port 80:

java -jar A-Scanner-v1.0.0.jar -m target -t 192.168.2.1 -p 80

Scan target host 212.64.63.190 all ports:

Scan port 443 of the host under the domain abc.com:

java -jar A-Scanner-v1.0.0.jar -m domain -d abc.com -p 443

Scan common ports of hosts under the domain abc.com:

java -jar A-Scanner-v1.0.0.jar -m domain -d abc.com -p simple

Scan all ports of hosts under the domain abc.com:

java -jar A-Scanner-v1.0.0.jar -m domain -d abc.com -p all

Scan network segment 192.168.2.0/24 port 80:

java -jar A-Scanner-v1.0.0.jar -m cidr -c 192.168.2.0/24 -p 80

Scan network segment 192.168.2.0/24 common ports:

java -jar A-Scanner-v1.0.0.jar -m cidr -c 192.168.2.0/24 -p simple

Scan network segment 192.168.2.0/24 all ports:

java -jar A-Scanner-v1.0.0.jar -m cidr -c 192.168.2.0/24 -p all

Scan IP 192.168.2.190 and port 80 of the subnet with mask 255.255.255.0:

java -jar A-Scanner-v1.0.0.jar -m subnet -sn 192.168.2.190 -sm 255.255.255.0 -p 80

Scan IP 192.168.2.190, the mask is 255.255.255.0, which is the common port of the subnet:

java -jar A-Scanner-v1.0.0.jar -m subnet -sn 192.168.2.190 -sm 255.255.255.0 -p simple

Scan IP 192.168.2.190, the mask is 255.255.255.0 all ports in the subnet:

java -jar A-Scanner-v1.0.0.jar -m subnet -sn 192.168.2.190 -sm 255.255.255.0 -p all

Scan port 443 of all hosts on the Internet:

java -jar A-Scanner-v1.0.0.jar -m internet -p 443

Scan the common ports of all hosts on the Internet:

java -jar A-Scanner-v1.0.0.jar -m internet -p simple

Scan all ports of all hosts on the Internet:

java -jar A-Scanner-v1.0.0.jar -m internet -p all

View domain name whois information:

java -jar A-Scanner-v1.0.0.jar -m whois -d abc.com

View help

java -jar A-Scanner-v1.0.0.jar -h

View version

java -jar A-Scanner-v1.0.0.jar -v

use interactive mode

java -jar A-Scanner-v1.0.0.jar

The default language is English, if you want to use Chinese as output please add '-l zh' parameter:

java -jar A-Scanner-v1.0.0.jar -l zh

Contributing

If there are any bugs or any problems, please submit an issue to help improve the program. If you are interested in this project, you can also submit it to the warehouse after innovation and improvement, looking forward to your PR!

Important

This project is for learning reference only and aims to help us improve work efficiency. It is strictly forbidden to be used for illegal purposes, please abide by local laws and regulations. In case of violation, all consequences shall be borne by oneself, and have nothing to do with the author of the project and the participating open source enthusiasts.

License

Apache @Anonymouscn