790 words, 3 mins
本文测试都在 mac,linux 系统也应该差不多,windows相差会比较大。 当你希望检查服务器端口是否能正常连接时,可以使用 telnet 命令
telnet
使用命令telnet [ip or domain name] [port]
端口能连上
测试一下连接 baidu 的 80 端口
✗ telnet baidu.com 80
Trying 220.181.38.148...
Connected to baidu.com.
上面的输出说明是可以连接上的
端口不能连上
随便乱填一个 ip
✗ telnet 1.2.3.4 80
Trying 1.2.3.4...
没有出现 Connected to xxx
,说明端口并未开放,无法连接,
当然可能我们的服务已经开始监听此端口,但防火墙阻止了外部的连接。
其它方法
nc
查看指定端口
$ nc -zv 192.168.1.15 22
也可以查看端口范围
$ nc -zv 192.168.56.10 20-80
使用的选项
-z – sets nc to simply scan for listening daemons, without actually sending any data to them.
-v – enables verbose mode.
nmap
查看指定端口
$ nmap –p 80 192.168.1.15
查看端口范围
nmap –p 1-200 192.168.1.15
本地查看端口方法
netstat
netstat -a -n | grep 'LISTEN ' | grep 3000
使用的选项
-a [over netstat] for all sockets
-n [over netstat] don't resolve names, show network addresses as numbers
lsof
sudo lsof -nP -iTCP:3000 | grep LISTEN
使用的选项
-n suppress the host name
-i for IPv4 and IPv6 protocols
-P omit port names
PREVIOUShow-to-love-ruby
NEXTHow to use tmux