linux 判断端口远程端口号是否可用
netstat使用netstat列出当前开放的所有端口,不限协议(可以是TCP和UDP)netstat -lntu参数l,是指列出所有在listening的socket参数n,是指显示端口号参数t,是指TCP协议参数u, 是指UDP协议当系统没有安装netstat包时,可以使用以下命令替代ss -lntu判断端口是否开发netstat -na | grep :portnumbernetstat -
·
netstat
使用netstat列出当前开放的所有端口,不限协议(可以是TCP和UDP)
netstat -lntu
- 参数
l
,是指列出所有在listening
的socket - 参数
n
,是指显示端口号 - 参数
t
,是指TCP协议 - 参数
u
, 是指UDP协议
当系统没有安装netstat包时,可以使用以下命令替代
ss -lntu
判断端口是否开发
netstat -na | grep :portnumber
netstat -na | grep :portnumber
开放端口
如果系统中安装有firewalld
,则使用如下指令:
firewall-cmd --add-port=portnumber/tcp # 暂时开放
firewall-cmd --add-port=portnumber/tcp --permanent # 永久有效
如果系统中安装有iptables,则使用如下指令:
iptables -A INPUT -p tcp --dport portnumber -j ACCEPT
sudo service iptables restart
参数说明
A
:append的简写,指将该规则追加至原规则列表。p
: protocol的简写,指协议,示例中指新规则为tcp协议。dport
: 开放目标端口。j
: jump的简写
测试端口是否可用
假设你在A机器上开放了4000端口,现在想测试该端口是否能在B上访问。则依次执行如下步骤。
- 在A机器上执行如下命令
该命令会监听4000端口,最前面的ls | nc -l -p 4000 # 注:nc是指netcat
ls
会在客户端连到该端口时,将当前文件夹下的文件名传输给客户端。 - 在B机器上执行以下命令(二选一即可):
如果A机器上的4000端口开放成功,则无论是telnet hostA_ip 4000 nc hostA_ip 4000
telnet
还是nc
,都会显示连接成功,否则显示连接失败。 - 也可以在hostA上执行如下命令,来检测4000端口确实开放成功
nmap localhost -p 4000
更多推荐
已为社区贡献1条内容
所有评论(0)