Linux下查看某端口是否开放
一、查看本机的某端口是否开放
以30000端口为例
lsof -i:30000
netstat -nutpl |grep -i 30000
二、查看远程主机的某端口
使用telnet:
telnet IP 端口号
使用/dev/tcp文件:
timeout 3 bash -c ">/dev/tcp/1.1.1.1/30000" && echo ok || echo not ok
或者简单点
>/dev/tcp/1.1.1.1/30000 && echo ok || echo not ok
/dev/{tcp|udp}/{host}/{port}
,打开这个文件,就相当于发出了一个 socket 调用,建立了一个 socket 连接,读写这个文件就相当于在该 socket 连接中传输数据
另外要注意:
- /dev/{tcp|udp}/{host}/{port} 不是一个真实的文件,使用ls /dev/tcp或者cat /dev/tcp/1.1.1.1/30000报错
- /dev/{tcp|udp}/{host}/{port} 这个功能只在 bash 中存在,其它的 shell 如 sh、dash、zsh 中没有
还没有评论,来说两句吧...