用 pystun 获取局域网的NAT类型和公网IP
pystun是一个STUN客户端工具,用于获取局域网的NAT类型和公网IP。
A Python STUN client for getting NAT type and external IP (RFC 3489)
pystun的下载地址:https://pypi.python.org/pypi/pystun
到该地址下载pystun的源代码:pystun-0.1.0.tar.gz
下面讲述在Linux系统上安装pystun,首先要确定安装了Python。
1. 解压pystun-0.1.0.tar.gz
[root@localhost]# tar -xzvf pystun-0.1.0.tar.gz
2. 进入源代码目录执行安装命令。
[root@localhost]# cd pystun-0.1.0
[root@localhost pystun-0.1.0]# python setup.py install
Traceback (most recent call last):
File "setup.py", line 2, in <module>
from setuptools import setup, find_packages
ImportError: No module named setuptools
如果出现上面“ImportError: No module named setuptools”错误,就安装 python-setuptools。
[root@localhost pystun-0.1.0]# yum -y install python-setuptools
... ...
Installed:
python-setuptools.noarch 0:0.6.10-3.el6
Complete!
安装setuptools成功后再执行步骤2的安装命令:
[root@localhost pystun-0.1.0]# python setup.py install
running install
... ...
Installed /usr/lib/python2.6/site-packages/pystun-0.1.0-py2.6.egg
Processing dependencies for pystun==0.1.0
Finished processing dependencies for pystun==0.1.0
3. 至此安装pystun完成,执行pystun看能不能获取NAT类型和公网IP。
[root@localhost pystun-0.1.0]# pystun
Traceback (most recent call last):
... ...
ImportError: No module named argparse
如果出现上述“ImportError: No module named argparse”错误,就安装argparse,如下:
[root@localhost pystun-0.1.0]# easy_install argparse
Searching for argparse
... ...
Installed /usr/lib/python2.6/site-packages/argparse-1.4.0-py2.6.egg
Processing dependencies for argparse
Finished processing dependencies for argparse
完成argparse安装,执行pystun获取NAT类型和公网IP。
[root@localhost pystun-0.1.0]# pystun
NAT Type: Restric NAT
External IP: 119.165.58.156
External Port: 54320
成功啦!