Puoi forzare una porta senza accesso al router e l'UPNP probabilmente disattivato?

StackOverflow https://stackoverflow.com/questions/19836475

  •  25-07-2022
  •  | 
  •  

Domanda

Voglio portare avanti una porta per il mio server web su un router a cui non ho accesso. Dubito fortemente che UPNP sia abilitato.

È stato utile?

Soluzione

In realtà, puoi (una specie di)

È un po 'complicato e non funzionerà sempre, ma ecco l'essenza di come funziona:

Dato:

Routera con IP pubblico 1.2.3.4

PC1 con IP privato ABCD (dietro il router A)

Routerb con IP pubblico 5.6.7.8

PC2 con IP privato (dietro il router B)

Ora, data una soluzione ideale (cioè no pat) ...

Passaggio A:

Invia qualsiasi messaggio da PC1 su qualsiasi porta (10000 per questo esempio) all'IP pubblico per il router (4.5.6.7). Questo registrerà ABCD: 10000 -> 4.5.6.7:10000 su Nat e Pat per Router. Il routerb scarterà questo pacchetto (come previsto perché non era richiesto).

Passaggio B: allo stesso tempo, inviare continuamente un pacchetto da PC2 all'IP pubblico del router A (1.2.3.4) sulla stessa porta (10000). Questo registrerà EGFH: 10000 -> 1.2.3.4:10000 su Nat e Pat.

Passaggio C:

Ora, ecco dove accade la magia:

PC2 invia costantemente il pacchetto ai router, mantenendo così il "foro" aperto in router per tornare una risposta. Quando PC1 invia il suo singolo pacchetto al router, sembrerà rooterb come risposta e quindi verrà inoltrato a PC2. Una volta che PC2 riceve questa "risposta", assicurati che un altro pacchetto si spegne e smetti di inviare pacchetti continui. Quest'ultimo pacchetto fungerà da "risposta" a PC1 e passerà attraverso il "foro" creato nel passaggio A. e voilà! Ora hai il trasversale NAT. Devi solo inviare un singolo pacchetto ogni minuto o giù di lì entrambe le direzioni per tenere aperto il "foro".

Nota: funziona solo con UDP in quanto è senza connessione (i pacchetti lasciati vanno bene).

Ora quasi tutti i router usano Pat, quindi devi "indovinare" quale porta "rispondere" alla maggior parte dei router farà un offset di +-10 (ieabcd: 10000 -> 5.6.7.8:10010).

Prova solo alcuni in quell'intervallo (da -10 a +10 fino a ottenere una risposta)

Il resto dei router è casuale sulla loro pat. In tal caso, sei fregato ... prova l'altra direzione (cioè iniziare la connessione all'altra direzione). Se questo fallisce, non puoi connetterti ... scusa)

Altri suggerimenti

Quindi da quello che ho capito, hai un server Web in esecuzione in cui le cose devono essere inoltrate e una porta del router a cui non hai accesso; E vuoi collegare questi due.

Dubito fortemente che ci sia modo di farlo, se solo tu avessi accesso al tuo router, puoi usare iptables per reindirizzare

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top