forked from hawshemi/SNI-Finder
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add top and num parameters, docs (#1)
* Add top and num IPs configuration * Docs
- Loading branch information
1 parent
053ac83
commit b4a924c
Showing
5 changed files
with
254 additions
and
31 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,9 @@ | ||
name: lint | ||
name: Lint | ||
on: | ||
push: | ||
branches: | ||
- main | ||
- dev | ||
pull_request: | ||
|
||
env: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,163 @@ | ||
|
||
# SNI Finder | ||
|
||
![GitHub CI Status](https://github.com/v-kamerdinerov/SNI-Finder/actions/workflows/lint.yml/badge.svg) | ||
![GitHub CI Status](https://github.com/v-kamerdinerov/SNI-Finder/actions/workflows/release.yml/badge.svg) | ||
![GitHub](https://img.shields.io/github/license/v-kamerdinerov/SNI-Finder) | ||
[![GitHub tag](https://img.shields.io/github/tag/v-kamerdinerov/SNI-Finder.svg)](https://github.com/v-kamerdinerov/SNI-Finder/tags) | ||
|
||
---- | ||
|
||
<p align="center"> | ||
<a href="./README.md"> | ||
English | ||
</a> | ||
/ | ||
<a href="./README-RU.md"> | ||
Русский | ||
</a> | ||
</p> | ||
|
||
Это приложение сканирует диапазон IP-адресов на наличие доменов с включенными TLS 1.3 и HTTP/2 (h2). Оно предназначено для определения полезных SNI (Server Name Indication) доменов для различных конфигураций и тестов. | ||
|
||
## Оглавление | ||
- [Особенности](#Особенности) | ||
- [Установка](#Установка) | ||
- [Использование](#Использование) | ||
- [Запуск на Linux/Mac OS](#Запуск-в-LinuxMac-OS) | ||
- [Запуск на Windows](#Запуск-под-Windows) | ||
- [Параметры](#Параметры) | ||
- [Пример вывода](#Пример-вывода) | ||
- [Сборка из исходников](#Сборка-из-исходного-кода) | ||
- [Пререквизиты](#Пререквизиты) | ||
- [Шаги сборки](#Шаги-сборки) | ||
- [Этика использования](#Этика-использования) | ||
- [Вклад](#Вклад) | ||
- [Лицензия](#Лицензия) | ||
|
||
## Особенности | ||
|
||
| Характеристика | Описание | | ||
|--------------------------|-------------------------------------------------------------------------------------------------------------------| | ||
| **TLS 1.3 и HTTP/2** | Сканирует домены, поддерживающие TLS 1.3 и HTTP/2, чтобы определить современные безопасные конфигурации. | | ||
| **Отображение TLS Ping** | Показывает результаты TLS Ping для просканированных доменов, помогая оценить время отклика. | | ||
| **Топ-серверы** | Выводит топ-серверы на основе наименьших значений пинга, что полезно для определения приоритета быстрых серверов. | | ||
|
||
### Выходные файлы | ||
- `results.txt`: Содержит подробный журнал сканирования. | ||
- `domains.txt`: Содержит только обнаруженные доменные имена. | ||
|
||
> **Примечание:** Рекомендуется запускать этот сканер локально _(с вашим домашним интернетом)_. Запуск сканера в облаке может привести к тому, что VPS-провайдеры пометят ваш аккаунт как подозрительный. | ||
## Установка | ||
|
||
Загрузите исполняемый файл, соответствующий архитектуре вашей системы (`amd64` или `arm64`). | ||
|
||
## Использование | ||
|
||
### Запуск в Linux/Mac OS | ||
|
||
1. Скачайте и установите бинарник: | ||
```bash | ||
wget «https://github.com/v-kamerdinerov/SNI-Finder/releases/latest/download/SNI-Finder-$(uname -s | tr A-Z a-z)-amd64» -O SNI-Finder && chmod +x SNI-Finder | ||
``` | ||
2. Запустите сканер: | ||
```bash | ||
./SNI-Finder -addr <ip-адрес> | ||
``` | ||
|
||
### Запуск под Windows | ||
|
||
1. Загрузите `.exe` файл с сайта [Releases](https://github.com/v-kamerdinerov/SNI-Finder/releases/latest). | ||
2. Откройте `CMD` или `Powershell` в директории загрузки. | ||
3. Запустите сканер: | ||
```cmd | ||
.\SNI-Finder-windows-amd64.exe -addr <ip-address> | ||
``` | ||
|
||
> Замените `<ip-адрес>` на диапазон IP-адресов, который вы хотите просканировать. | ||
|
||
## Параметры | ||
|
||
| Аргумент | Тип | Значение по умолчанию | Описание | | ||
|-------------|--------|-----------------------|--------------------------------------------------------------| | ||
| `-addr` | string | `0.0.0.0` | Начальный адрес для сканирования. | | ||
| `-num` | int | `10000` | Количество IP-адресов для сканирования. | | ||
| `-o` | bool | `true` | Включить или отключить вывод в файл `results.txt`. | | ||
| `-port` | string | `443` | Порт для сканирования. | | ||
| `-showFail` | bool | `false` | Показать логи для неудачных сканирований. | | ||
| `-thread` | int | `128` | Количество потоков для параллельной работы при сканировании. | | ||
| `-timeOut` | int | `4` | Таймаут сканирования в секундах. | | ||
| `-top` | int | `10` | Количество отображаемых наилучших серверов. | | ||
|
||
## Пример вывода | ||
|
||
Вот пример вывода программы: | ||
|
||
``` | ||
2024-09-08 22:25:49 37.139.62.38:443 TLS v1.3 ALPN: h2 pixelproof.ru Ping: 22.315ms | ||
|
||
2024-09-08 22:25:51 37.139.62.151:443 TLS v1.3 ALPN: h2 maelia.rs Ping: 34.011ms | ||
|
||
2024-09-08 22:25:51 37.139.62.192:443 TLS v1.3 ALPN: h2 doterra-challenge.ru Ping: 22.68ms | ||
|
||
2024-09-08 22:28:06 Scan completed. | ||
|
||
Top servers by TLS Ping: | ||
1: 37.139.41.28:443 TLS v1.3 ALPN: h2 jsdaddy.tech Ping: 3.121ms | ||
2: 37.139.42.255:443 TLS v1.3 ALPN: h2 malyi-biznes.ru Ping: 3.496ms | ||
3: 37.139.42.35:443 TLS v1.3 ALPN: h2 88date.co Ping: 3.797ms | ||
4: 37.139.41.247:443 TLS v1.3 ALPN: h2 you-note.ru Ping: 3.804ms | ||
5: 37.139.43.113:443 TLS v1.3 ALPN: h2 medvuza.ru Ping: 4.029ms | ||
6: 37.139.40.192:443 TLS v1.3 ALPN: h2 xn--8f9ac.xn--p1ai Ping: 9.772ms | ||
7: 37.139.42.68:443 TLS v1.3 ALPN: h2 mega74.ru Ping: 11.621ms | ||
8: 37.139.62.38:443 TLS v1.3 ALPN: h2 pixelproof.ru Ping: 22.315ms | ||
9: 37.139.62.192:443 TLS v1.3 ALPN: h2 doterra-challenge.ru Ping: 22.68ms | ||
10: 37.139.62.151:443 TLS v1.3 ALPN: h2 maelia.rs Ping: 34.011ms | ||
``` | ||
## Сборка из исходного кода | ||
### Пререквизиты | ||
Установите `wget`: | ||
```bash | ||
sudo apt install -y wget | ||
``` | ||
|
||
Запустите этот скрипт для установки Go и других зависимостей _(Debian & Ubuntu & RedOS $ RHEL)_: | ||
```bash | ||
wget «https://raw.githubusercontent.com/v-kamerdinerov/SNI-Finder/main/install-go.sh» -O install-go.sh && chmod +x install-go.sh && bash install-go.sh | ||
``` | ||
> **Совет:** После установки рекомендуется перезагрузить систему. | ||
### Шаги сборки | ||
|
||
1. Клонируем репозиторий: | ||
```bash | ||
git clone https://github.com/v-kamerdinerov/SNI-Finder.git | ||
``` | ||
2. Перейдите в каталог репозитория: | ||
```bash | ||
cd SNI-Finder | ||
``` | ||
3. Скачайте и установите все необходимые пакеты: | ||
```bash | ||
go mod tidy | ||
``` | ||
4. Соберите проект: | ||
```bash | ||
CGO_ENABLED=0 go build | ||
``` | ||
|
||
## Этика использования | ||
|
||
Данный инструмент предназначен только для образовательных и легальных целей тестирования. Несанкционированное сканирование сетей без разрешения может нарушить законы и привести к серьезным наказаниям. Пользуйтесь ответственно. | ||
|
||
## Вклад | ||
|
||
Вклад приветствуется! Пожалуйста, сделайте форк репозитория и отправьте запрос на исправление. Убедитесь, что ваш код придерживается существующего стиля и тщательно протестирован. | ||
|
||
## Лицензия | ||
|
||
Этот проект лицензируется по лицензии MIT. Подробности смотрите в файле [LICENSE](LICENSE). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.