Abbiamo un indirizzo IP su Internet globale: "A"
Abbiamo accesso solo a "A".
Abbiamo una rete dietro un router che esegue NAT: 192.168.1.0/24
C'è un client dietro quel NAT: "B"
Non abbiamo accesso a "B" e al router "NAT".
Obiettivo : raggiungi la "B" direttamente con "A".
Non possiamo usare port forwarding o UPnP, ecc.
Domanda: qual è il trucco per raggiungere "B"? Un trucco che potrebbe essere evitato se il router avesse un firewall stateful, non solo NAT!
Pensiamo che quando "B" naviga nel web, uscirà su Internet. Quando riceve le risposte, il router che esegue il NAT deve decidere quale IP di NATed ha "B"? (potrebbero esserci più macchine dietro la rete NATed). Per questo il router NAT usa anche le informazioni sulla porta. Forse se stiamo usando UDP, possiamo provare tutte le porte non privilegiate con l'IP "A" per inviare un pacchetto a "B"?
Il router NAT è solo un semplice router di soho. (problema originale: provare a dimostrare che NAT non è un firewall, ma abbiamo bisogno di una prova per questo)