我查看了路由器中的 upnp,发现一些未知的东西。
内部端口:54172
外部端口:54172
协议:UDP
描述:Teredo
我正在使用 ubuntu,但我不知道哪个应用程序映射了这个端口。
sudo netstat -tlnpu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:5298 0.0.0.0:* LISTEN 1713/telepathy-salu
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1019/cupsd
tcp 0 0 0.0.0.0:5276 0.0.0.0:* LISTEN 1640/skype
tcp 0 0 0.0.0.0:49603 0.0.0.0:* LISTEN 4102/transmission
tcp 0 0 0.0.0.0:9091 0.0.0.0:* LISTEN 4102/transmission
tcp6 0 0 :::80 :::* LISTEN 1201/apache2
tcp6 0 0 :::5298 :::* LISTEN 1713/telepathy-salu
tcp6 0 0 ::1:631 :::* LISTEN 1019/cupsd
tcp6 0 0 :::49603 :::* LISTEN 4102/transmission
udp 0 0 0.0.0.0:59421 0.0.0.0:* 939/avahi-daemon: r
udp 0 0 0.0.0.0:68 0.0.0.0:* 1075/dhclient
udp 0 0 0.0.0.0:5276 0.0.0.0:* 1640/skype
udp 0 0 0.0.0.0:5353 0.0.0.0:* 939/avahi-daemon: r
udp 0 0 0.0.0.0:49603 0.0.0.0:* 4102/transmission
udp 0 0 127.0.0.1:51942 0.0.0.0:* 1640/skype
udp6 0 0 :::5353 :::* 939/avahi-daemon: r
udp6 0 0 :::47483 :::* 939/avahi-daemon: r
答案1
Teredo 隧道协议是一种网络协议,可让您在 IPv4 网络上路由 IPv6 数据包。这样,具有 IPv6 地址的 PC 就可以与运行 IPv6 的服务器通信,即使两者之间的某些路由器只理解 IPv4。
单个应用程序不太可能使用此功能,操作系统的网络堆栈很可能会在需要时提供此功能,而应用程序并不知道它正在被使用。
答案2
在 Ubuntu 中使用命令sudo netstat -tlnpu
查看当前绑定到某个端口的应用程序列表。请参阅本地地址列,找到那里5147或者54172并看到PID/程序名称列中,使用该端口的程序是什么。
或者尝试sudo netstat -tlnpu | grep 5417
避免因可能太长的列表而导致的眼睛疲劳...:-)
答案3
Ubuntu 中有一个名为 Miredo 的 Teredo 客户端,但它不使用 uPnP。Microsoft Windows Vista 及更高版本将创建此端口映射。