美文网首页Linux LinuxLinux
Linux下查看端口及使用Python完成端口扫描

Linux下查看端口及使用Python完成端口扫描

作者: 刘小白DOER | 来源:发表于2021-07-26 12:19 被阅读0次

      本文介绍在Linux下查看端口的几种方法,同时利用Python完成端口扫描来判断端口是否打开。

一、查看端口以及测试是否打开

1、可以查看文件/etc/services,从里面可以找出端口所对应的服务,但是无法判断端口是否打开。

2、telnet可以判断端口是否打开,telnet没有参数控制超时时间。

3、nc(netcat)网络工具来完成端口扫描。

4、可以通过netstat 结合grep 来查看哪些端口被打开。 netstat -ntpl查看TCP类型的端口,netstat -nupl(UDP类型的端口)  。

5、使用nmap 专业工具的强大功能来检测。

    下面介绍几个nmap使用方法。

    5.1打印扫描的ip列表。

    5.2从文件中读取IP地址完成端口扫描。

    5.3端口扫描特定的单机的1000个最常用的端口。

    5.4端口扫描本机的1000个最常用的端口并显示主机信息。

    5.5端口扫描特定的单机的1000个最常用的端口并显示版本信息。

    5.6不进行端口扫描,仅仅判断主机是否可达,类似于ping功能。

二、python的socket模块完成端口扫描

          函数conn_scan使用socket套接字编程的方式用来判断端口是否可用。

    运行结果:

三、python的telnet模块完成端口扫描

        函数conn_scan使用标准库的telnet模块,创建telnet对象并不会建立到远程主机的连接,显示的使用open方法建立连接。

    运行结果如下:

    对比前面两个例子,telnet模块的open方法可用设置超时时间timeout,执行时间是socket套接字的一半,效率更高。

    可用针对集群ips和端口ports,可用使用两个for来迭代完成所有ip的端口扫描。

    使用列表推导来迭代完成所有ip的端口扫描。

        使用product(from itertools import product)返回多个可迭对象的笛卡尔积完成所有ip的端口扫描。

四、python的namp开源库完成端口扫描

         python-namp相对于nmap,主要的改进在于对输出结果的处理,输出结果保存在字典之中。

             

相关文章

网友评论

    本文标题:Linux下查看端口及使用Python完成端口扫描

    本文链接:https://www.haomeiwen.com/subject/flqwmltx.html