测试远程端口是否开放包括两种方法:

一、 命令行的形式

二、代码

先参考我的博客 windows、Linux 开放端口

一、命令行的形式

两个命令:telnet、nc(netcat)
两种网络层协议:TCP、UDP

windows有telnet,只是默认没启动

windows10 配置telnet: http://www.xitongcheng.com/jiaocheng/win10_article_37554.html
windows7/8 server2008 配置telnet: https://jingyan.baidu.com/article/ae97a646b22fb6bbfd461d19.html

windows安装nc: https://blog.csdn.net/qq_37585545/article/details/82250984
下载:https://eternallybored.org/misc/netcat/

下载后,将nc的路径添加到环境变量Path中

centos/redhat 配置 telnet: sudo yum install telnet
ubuntu 配置 telnet: sudo apt install telnet

通常的Linux发行版中都带有NetCat(简称nc)
NetCat 官方地址:http://netcat.sourceforge.net/
centos/redhat 配置 nc: sudo yum install nc
ubuntu 配置 nc: sudo apt install nc

查看端口占用情况

Windows查看端口占用情况:https://jingyan.baidu.com/article/3c48dd34491d47e10be358b8.html

列出所有端口的情况:
netstat -ano 查看被占用端口对应的PID,输入命令:
netstat -aon|findstr ""
回车,记下最后一位数字,即PID,这里假设是2720。
继续输入
tasklist|findstr ""
回车,查看是哪个进程或者程序占用了2720端口

linux 查看端口占用情况:https://www.cnblogs.com/wangtao1993/p/6144183.html

lsof -i:端口号
用于查看某一端口的占用情况 netstat -tunlp |grep 端口号
用于查看指定的端口号的进程情况
如查看8000端口的情况: netstat -tunlp |grep 8000

远程端口是否打开测试

telnet的用法:

telnet只能测试TCP
telnet SERVER_IP port
example:
telnet localhost

nc的用法:

nc测试TCP:
nc -z SERVER_IP port
example:
nc -z 192.192.193.211 nc测试UDP
nc -uz SERVER_IP port
example:
nc -uz 192.192.193.211

二、代码

python代码:

import socket

'''
这是多行注释,用三个单引号
该程序的功能是测试远程端口是否开放
python判断远程端口是否打开的方法
ssh默认端口 22
Windows远程登陆默认端口 3389
Oracle默认端口 1521
MySQL默认端口 3306
sqlserver默认端口 1433
''' sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sk.settimeout(1)
try:
sk.connect(('192.192.193.211',8080))
print('Server port 8080 OK!')
except Exception:
print('Server port 8080 not connect!')
sk.close()

windows10配置telnet

Win+R键调出 运行--》输入control,快速打开控制面板:

点击卸载程序,

点击启用或关闭Windows功能

在Telnet客户端打对勾,确定

测试是否启用Telnet, Win+R打开运行,输入cmd

在cmd中输入telnet测试。

最新文章

  1. Mongo DB Study: first face with mongo DB
  2. CoreJava知识点1
  3. 夺命雷公狗-----React---11--添加css样式的方法
  4. Android自定义遮罩层设计
  5. poj3295
  6. jquery 滑动动画
  7. SQL存储过程基于字段名传入的字符串拼接.
  8. 树莓派学习笔记——交叉编译练习之SQLite3安装
  9. redis hash结构 遍历某一个key下所有的(field,values)的方法
  10. a 标签的四种样式
  11. python urllib2与urllib
  12. FlappyBird Pygame
  13. 微信硬件平台(七)微信开发--如何存储并定时更新access_token
  14. ACM-ICPC 2018 南京赛区网络预赛 E AC Challenge(状压dp)
  15. PHP is_writeable 存在bug , 写一个自定函数 判断文件是否可写
  16. 【Mybatis】MyBatis对表执行CRUD操作(三)
  17. 【CF708D】Incorrect Flow 最小费用可行流
  18. Inside Triangle
  19. (线段树)Mayor's posters --poj -- 2528
  20. bzoj4385 & POJ2015 Wilcze doły

热门文章

  1. HTTPS与HTTP
  2. bzoj 1579: [Usaco2009 Feb]Revamping Trails 道路升级 优先队列+dij
  3. php数据结构课程---4、栈(是什么)
  4. long long 与 __int64
  5. 有關WCF一個自認爲比較經典的博客
  6. vue2.0使用Sortable.js实现的拖拽功能
  7. Data URI Scheme,base64
  8. codeforces 653B B. Bear and Compressing(dfs)
  9. linux命令学习笔记(48):watch命令
  10. Android中的优化技巧