I'm using netcat as a backend to shovel data back and forth for a program I'm making. I tested my program on the local network, and once it worked I thought it would be a matter of simply forwarding a port from my router to have my program work over the internet. Alas! This seems not to be the case.
If I start netcat listening on port 6666 with:
nc -vv -l -p 6666
,
then go to 127.0.0.1:6666
in a browser, as expected I see a HTTP GET request come through netcat (and my browser sits waiting in vain). If I go to my.external.ip.address:6666
, however, nothing comes through at all and the browser displays 'could not connect to my.external.ip.address:6666
'.
I know that the port is correctly forwarded, as www.canyouseeme.org says port 6666 is open (and when netcat is not listening, that its closed).
If I run netcat with -g my.adslmodem's.local.address
to set the gateway address, I get the same behavior. Am I using this command line option correctly? Any insight as to what I'm doing wrong?
question from:
https://stackoverflow.com/questions/2552546/how-do-i-get-netcat-to-accept-connections-from-outside-the-lan 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…