Skip to content

Commit

Permalink
Version 0.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
EternalNight996 committed Aug 9, 2022
0 parents commit a51b7e1
Show file tree
Hide file tree
Showing 134 changed files with 24,581 additions and 0 deletions.
28 changes: 28 additions & 0 deletions .cargo.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# 中国科学技术大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
# 清华大学
[source.ustc]
registry = "http://mirrors.ustc.edu.cn/crates.io-index"
# rustcc社区
[source.rustcc]
registry = "https://code.aliyun.com/rustcc/crates.io-index.git"
# 上海交大
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index/"

[source.crates-io]
registry ="https://github.com/rust-lang/crates.io-index"
# 指定镜像
replace-with = 'ustc'

[net]
retry = 2 # 网络重试次数
git-fetch-with-cli = false # 命令来执行 git 操作
offline = false # 不能访问网络

[target.x86_64-pc-windows-msvc]
rustflags = ["-C", "target-feature=+crt-static"]

[target.x86_64-unknown-linux-musl]
linker = "rust-lld"
23 changes: 23 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Generated by Cargo
# will have compiled files and executables
/target/

# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock

# These are backup files generated by rustfmt
**/*.rs.bk
node_modules
/.cache/
yarn.lock
/dist/
/pkg/
/logs/
# /ttfs/*
# /icons/*
resource.lib
resource.rc
e-netscan.yaml
*-cache
*-SetupFiles
37 changes: 37 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Tauri Development Debug",
"cargo": {
"args": [
"build",
"--manifest-path=./tauri/Cargo.toml",
"--no-default-features"
]
},
// "stopOnEntry": true,
// task for the `beforeDevCommand` if used, must be configured in `.vscode/tasks.json`
"preLaunchTask": "ui:dev"
},
{
"type": "lldb",
"request": "launch",
"name": "Tauri Production Debug",
"cargo": {
"args": [
"build",
"--release",
"--manifest-path=./tauri/Cargo.toml"
]
},
// task for the `beforeBuildCommand` if used, must be configured in `.vscode/tasks.json`
"preLaunchTask": "ui:build"
}
]
}
24 changes: 24 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "ui:dev",
"type": "shell",
"isBackground": true,
"command": "yarn",
"args": [
"dev"
]
},
{
"label": "ui:build",
"type": "shell",
"command": "yarn",
"args": [
"build"
]
},
]
}
500 changes: 500 additions & 0 deletions E-NetScan.aip

Large diffs are not rendered by default.

95 changes: 95 additions & 0 deletions EN.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
### 📄 [Chinese](README.md)| 📄 [English](EN.md)

# ⚡ what is it?
A cross platform graphic visualization network scanning tool** Can quickly scan ports and hosts and complete tasks across network segments**

### 🤔 Support [platform | function]
+ [x] platform
- [x] windows[10]
- [ ] linux[ubuntu、kali]
+ [x] Skill
- [x] fingerprint scanning
- [x] asynchronous scan
- [x] synchronous scanning
- [x] service scan
- [x] DNS resolution
- [x] route tracing
- [x] ARP Spoofing


# 🔭 How to package the application?
### Why do we need to package applications?
Because we normally compile. Exe applications, in complex projects, we need to rely on various resources [DLL, lib, PNG, ICO...], environment variables, dynamic installation, uninstallation, repair and update, etc!
So we need a package management tool to solve these problems. Of course, we can also use an integrated cross platform GUI framework such as elector and Tauri. If it is an ordinary GUI, these tools will be very helpful to you!
#### Windows
- Download E-NetScan
[Install-0.1.0.exe](https://github.com/EternalNight996/e-netscan/releases/download/v0.1.0/Installe.exe)

- First, we need a packaging tool;
[Microsoft summarizes third-party packaging tools](https://docs.microsoft.com/zh-cn/windows/msix/desktop/desktop-to-uwp-third-party-installer)
This project uses [advanced installer](https://www.advancedinstaller.com/), download and install by yourself!
- Package project ` e-netscan. API ';
```
# setup 1; compile project
cargo build --release
# setup 2; open E-NetScan. api from Advanced Installer;
# setup 3; build E-NetScan.api;
# project will output to E-NetScan-SetupFiles/..
```

## ` 💡! Important:`
####There are three requirements for building on the windows system environment:
You must use the rust version using the MSVC toolchain
You must install [WinPcap]https://www.winpcap.org/ )Or [npcap]https://nmap.org/npcap/ )(using [WinPcap]https://www.winpcap.org/ )Version 4.1.3) (if using [npcap]https://nmap.org/npcap/ ), please make sure to use "in [WinPcap]https://www.winpcap.org/ )Install [npcap] in API compatibility mode( https://nmap.org/npcap/ )”)
You must put it in your bag. [WinPcap]( https://www.winpcap.org/ )The Lib in the developer package is located in the directory named Lib in the root directory of the repository. Alternatively, you can use any location listed in the% lib% / $env: lib environment variable. For the 64 bit toolchain, it is located in wpdpack / lib / x64 / packet. For the 32-bit toolchain, it is located in wpdpack / lib / packet.lib.

#### If you do not want to package the deployment environment with advanced installer, run the following command!
```
# install npcap server
./e-netscan/scripts/npcap-1.70.exe
# Build Operating environment use of bat
./Install.bat
```

# 🚀 Fast running
```
#Compile to target / release [e-netscan, e-netscan GUI]
cargo build --release
#Start visual interface
e-netscan-gui
#Command line scan host 192.168.80.1 Baidu COM 192.168.1.1-254 range host
e-netscan -i 192.168.80.1 baidu. com 192.168.1.1/24 -m sync
#Command line scan port 192.168.80.1 Baidu Com [80, 20.. 30] port
e-netscan -i 192.168.80.1 baidu. com -p 80 20-30 -m sync
#Command line ARP Spoofing cross network segment scanning
e-netscan -i 192.168.1.1/24 -m sync -- -AS
#Command line asynchronous scan port
e-netscan -i 192.168.80.1 baidu. com -p 80 20-30 -m async
#Command line fingerprint scan
e-netscan -i 192.168.80.1 baidu. com -m os
#Command line service scan
e-netscan -i localhost baidu. com -p 80 8000 -m service
#Command line DNS resolution
e-netscan -i localhost baidu. com 114.114.114.114 -m dns
#Command line route tracing
e-netscan -i baidu. com -m traceroute
#Command line setting print level: - vvvvv [warn, error, info, debug, trace]
e-netscan -i 192.168.1.1/24 -vvv -m sync
#Help
e-netscan -h
#Version
e-netscan --version
```

# 🙋 Want secondary development?
[e-libscanner]( https://github.com/EternalNight996/e-libscanner ): API library that this project depends on for scanning

# 🤔 Why do I need e-netscan?
At first, I wanted to complete a cross network scanning project to help me complete some work. I referred to many open source projects, but these projects have some defects that do not meet my needs, so I have e-netscan.

# 💡 Tips?
[iced] for GUI of this program( https://github.com/iced-rs/iced )After development, I found that iced has a great compatibility problem!
Other GUIs are recommended for secondary development!
- iced_ glow supporting OpenGL 2.1+ and OpenGL ES 2.0+
- iced_ wgpu supporting Vulkan, Metal and DX12
-GUI cannot be run without corresponding GPU! And you can only choose one of two
Loading

0 comments on commit a51b7e1

Please sign in to comment.