# A-Scanner **Repository Path**: anonymous000/A-Scanner ## Basic Information - **Project Name**: A-Scanner - **Description**: 基于java开发的端口扫描器,利用多线程快速扫描主机端口 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://github.com/Anonymouscn/A-Scanner - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2022-12-29 - **Last Updated**: 2024-08-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 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:

```shell 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](https://www.oracle.com/java/technologies/downloads/)

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](https://gitee.com/anonymous000/A-Scanner/releases) # Usage

Scan target host 192.168.2.1 common port:

```shell java -jar A-Scanner-v1.0.0.jar -m target -t 192.168.2.1 -p simple ``` ![](.github/img/scan-simple-target.png)

Scan target host 192.168.2.1 port 80:

```shell java -jar A-Scanner-v1.0.0.jar -m target -t 192.168.2.1 -p 80 ``` ![](.github/img/scan-80-target.png)

Scan target host 212.64.63.190 all ports:

![](.github/img/scan-all-target.png)

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

```shell java -jar A-Scanner-v1.0.0.jar -m domain -d abc.com -p 443 ``` ![](.github/img/scan-443-domain.png)

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

```shell java -jar A-Scanner-v1.0.0.jar -m domain -d abc.com -p simple ``` ![](.github/img/scan-simple-domain.png)

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

```shell java -jar A-Scanner-v1.0.0.jar -m domain -d abc.com -p all ``` ![](.github/img/scan-all-domain.png)

Scan network segment 192.168.2.0/24 port 80:

```shell java -jar A-Scanner-v1.0.0.jar -m cidr -c 192.168.2.0/24 -p 80 ``` ![](.github/img/scan-80-cidr.png)

Scan network segment 192.168.2.0/24 common ports:

```shell java -jar A-Scanner-v1.0.0.jar -m cidr -c 192.168.2.0/24 -p simple ``` ![](.github/img/scan-simple-cidr.png)

Scan network segment 192.168.2.0/24 all ports:

```shell java -jar A-Scanner-v1.0.0.jar -m cidr -c 192.168.2.0/24 -p all ``` ![](.github/img/scan-all-cidr.png)

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

```shell java -jar A-Scanner-v1.0.0.jar -m subnet -sn 192.168.2.190 -sm 255.255.255.0 -p 80 ``` ![](.github/img/scan-80-subnet.png)

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

```shell java -jar A-Scanner-v1.0.0.jar -m subnet -sn 192.168.2.190 -sm 255.255.255.0 -p simple ``` ![](.github/img/scan-simple-subnet.png)

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

```shell java -jar A-Scanner-v1.0.0.jar -m subnet -sn 192.168.2.190 -sm 255.255.255.0 -p all ``` ![](.github/img/scan-all-subnet.png)

Scan port 443 of all hosts on the Internet:

```shell java -jar A-Scanner-v1.0.0.jar -m internet -p 443 ``` ![](.github/img/scan-443-internet.png)

Scan the common ports of all hosts on the Internet:

```shell java -jar A-Scanner-v1.0.0.jar -m internet -p simple ``` ![](.github/img/scan-simple-internet.png)

Scan all ports of all hosts on the Internet:

```shell java -jar A-Scanner-v1.0.0.jar -m internet -p all ``` ![](.github/img/scan-all-internet.png)

View domain name whois information:

```shell java -jar A-Scanner-v1.0.0.jar -m whois -d abc.com ``` ![](.github/img/scan-domain-whois.png)

View help

```shell java -jar A-Scanner-v1.0.0.jar -h ``` ![](.github/img/get-help.png)

View version

```shell java -jar A-Scanner-v1.0.0.jar -v ``` ![](.github/img/get-version.png)

use interactive mode

```shell java -jar A-Scanner-v1.0.0.jar ``` ![](.github/img/interact-mode.png)

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

```shell java -jar A-Scanner-v1.0.0.jar -l zh ``` ![](.github/img/lang-zh.png) # 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](http://www.apache.org/licenses/LICENSE-2.0) @Anonymouscn