Fast NAT es una versión extendida basada en Wenat, que admite HTTP, TCP, UDP, WebSocket y otros protocolos. En pocas palabras, puede asignar una IP y puerto público a su computadora Intranet, por ejemplo:
123.1.1.1:8888 -> 192.168.1.123:3306
Cuando el servidor de red externo reciba el paquete de datos, se reenviará al puerto de red interno 3306, logrando así la penetración. El servidor ha sido transferido, que es diferente de la penetración P2P tradicional.
El protocolo es una cadena JSON
Al conectarse al servidor por primera vez, debe traer el token del usuario. Después de que el servidor sea válido, abrirá dos puertos para uso posterior. En el proceso posterior, no se realiza ninguna verificación. Aunque existen riesgos de seguridad, las aplicaciones TCP comunes: MySQL, MongoDB, Redis, etc. tienen mecanismos de usuario para proteger.
Tres acuerdos tentativos
| tipo |
|---|
| TCP |
| UDP |
| Http |
Respuesta básica de la información
Conéctese directamente al puerto del servidor de comunicación 8888 sin enviar ningún dato. Después de tener éxito, responda a los siguientes datos
| Campos | tipo | ilustrar |
|---|---|---|
| identificación | cadena (8) | La identificación de esta sesión |
| engaño | cadena (8) | ID de sesión de socket externo |
| Intport | int (5) | Puerto de conexión Intranet, puerto de 5 dígitos, 30000-65535 |
| outport | int (5) | Puertos para conexiones de red externas |
| Dominio | cadena | Comandos de operación |
| protocolo | cadena | Tipo de protocolo |
{
id : 'CucfFpk7' ,
intPort : 61289 ,
outPort : 59918 ,
command : 'start_proxy' ,
outId : 'GpNYO5KW'
}Conectarse activamente al servidor
Después de recibir la respuesta básica de la información, obtiene el puerto de la intranet para establecer una conexión TCP y traer el OUTID. El primer paquete de datos es un paquete de protocolo, y los datos posteriores son el reenvío normal.
| Campos | tipo | ilustrar |
|---|---|---|
| engaño | cadena (8) | ID de sesión de socket externo |
{
outId : 'GpNYO5KW'
}