Agregar detalles sobre limites y puertos por*sec

This commit is contained in:
Fijxu 2022-12-08 15:00:08 -03:00
parent 03209ed1ac
commit a2c704f636
1 changed files with 28 additions and 4 deletions

View File

@ -42,19 +42,43 @@ Y listo, ya tienes un rango de IPs listo para ser escaneado :)
Abre una terminal y dentro de ella escribe este comando:
```bash
sudo masscan -p <puertos> <ip> --rate 500
sudo masscan -p <puertos> <ip> --rate 1000
```
Aca hay que reemplazar *puertos* e *ip* con sus resectivos valores. En la siguente seccion explico mas a detalle dependiendo del que tipo de servidor se quiere escanear
Aparte de los puertos e ips, esta el argumento de ***--rate*** que define a cuantos kb/s se escanean los puertos o ips, mientras mas bajo, mas preciso pero mas lento, esto dependera de gran parte de tu router, tu adaptador ethernet, si estas usando wifi o no, y muchas cosas, por eso es mejor dejarlo a 500 o menos de 500 para no perder paquetes y poder encontrar servidores de forma efectiva.
Aparte de los puertos e ips, esta el argumento de ***--rate*** que define a cuantos puertos por segundo se escanean las ips, mientras mas bajo, mas preciso, pero mas lento, esto dependera de gran parte de tu router, tu adaptador ethernet o si estas usando wifi o no. Por eso es mejor dejarlo a 1000 o menos de 1000 para no perder paquetes y poder encontrar servidores de forma efectiva.
### 2.0.5 Aumentar la velocidad del escaneo aumentando el valor de los File Descriptors
**Si quieres escanear puertos a una mayor velocidad/efectividad, necesitaras aumentar el valor de los `file descriptors` ([¿Qué son los file descriptors?, Explicado en Ingles](https://stackoverflow.com/a/5256705/12762375)) de UNIX**
Esto se puede hacer usando el comando `ulimit -n <valor>`. Un valor recomendado para escanear `3000` puertos por segundo seria `3500`, entonces el comando que habria que ejecutar seria: `ulimit -n 3500`.
Luego de haber ejecutado ese comando, puedes empezar a aumentar el valor de `--rate` a `3000` haciendo que el comando final quede así:
```bash
sudo masscan -p 25565 186.20.0.0/16 --rate 3000
```
Obviamente esto hara que la velocidad a la que se escanean los puertos sea el **triple de rapida** a comparacion de tener el el `--rate` a `1000`
#### Q&A (Preguntas y Respuestas)
1. Porque hay que aumentar el valor de los file descriptors para poder escanear a una mayor velocidad?
1. En UNIX (BSD y Linux) **todo es un archivo**, tomando eso en cuenta, las conexiones a internet tambien son un archivo y cada proceso abierto tiene el limite que esta asignado dentro del sistema. Entonces, por ejemplo, en algunos sistemas operativos el valor por defecto en `1024`, eso significa que el proceso solo tiene permiso a abrir `1024` archivos al mismo tiempo, y como dije anteriormente, las conexiones a internet tambien son un archivo. Si quisieramos escanear a `5000` puertos por segundo, `massscan` se vera limitado a solo escanear `1024` puertos por segundos debido al limite de archivos abiertos. Y por eso hay que aumentarlo :)
2. Entonces podria escanear a `30000` puertos por segundo si uso el comando `ulimit -n 30000`?
1. No. Claro que `masscan` podra abrir la cantidad de archivos necesaria para poder escanear `30000` puertos por segundo, pero el problema principal ahi seria el hardware que uno tiene. No todas las tarjetas Ethernet/Wifi soportan tantos paquetes por segundo, y en esto tambien se incluye el Router, si tu router no es capaz de enviar y recibir una gran cantidad de paquetes, no funcionara. Usar el valor de `30000` solo llevara a perdida de paquetes y que no puedas encontrar ningun puerto abierto.
![xd](https://ii.zzls.xyz/EQHANQI.png)
### 2.1 Masscan en Servidores arrendados
Abre una terminal y dentro de ella escribe este comando:
```bash
sudo masscan -p 10000-65535 45.235.99.92 --rate 500
sudo masscan -p 10000-65535 45.235.99.92 --rate 1000
```
Lo que va a hacer este comando, sera encontrar si hay puertos abiertos dentro del rango **10000** y **65535** de la ip **45.235.99.92** que mencione en la seccion ***1.1***.
@ -64,7 +88,7 @@ Lo que va a hacer este comando, sera encontrar si hay puertos abiertos dentro de
Usa este comando:
```bash
sudo masscan -p 25565 186.20.0.0/16 --rate 500
sudo masscan -p 25565 186.20.0.0/16 --rate 1000
```
Este comando buscara si el puerto **25565** (el puerto por defecto de minecraft) esta abierto dentro de las diferentes IPs que se definen dentro del rango de IPs ingresado (**186.20.0.0/16**)