PyStun is an nice Python STUN client which will help you to detect your NAT type and your external IP address. Here now a simple tutorial for usage.
Requirements
- min. Python 2.7.x installed
- Python virtualenv installed
Preparation
# create project and change directory
$ mkdir -p Projects/NAT && cd Projects/NAT
# create virtualenv and activate it
$ virtualenv .env && . .env/bin/activate
# install pystun
$ pip install pystun
# check pystun version (optional)
$ pystun --version
Run pystun
# run pystun with STUN host and STUN port
$ pystun -H stun.12connect.com -P 3478
NAT Type: Restric NAT
External IP: 178.81.75.18
External Port: 54320
# run pystun with STUN host and STUN port
$ pystun -H stun4.l.google.com -P 19302
NAT Type: Full Cone
External IP: 178.81.75.18
External Port: 54320
NAT Variations
On ietf.org you will find very detailed documentation on STUN.