今日要运用python写一个端口勘探的小程序,以检测一些特定的效劳端口有没有被占用,突然发现自个竟然不知道在linux中怎么查询端口被占用的情况,天呐,从速学习一下。

Linux如何查看端口

1、lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000

# lsof -i:8000
COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
lwfs    22065 root    6u  IPv4 4395053      0t0  TCP *:irdmi (LISTEN)

可以看到8000端口已经被轻量级文件系统转发服务lwfs占用

2、netstat -tunlp |grep 端口号,用于查看指定的端口号的进程情况,如查看8000端口的情况,netstat -tunlp |grep 8000

# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 4814/rpcbind
tcp 0 0 0.0.0.0:5908 0.0.0.0:* LISTEN 25492/qemu-kvm
tcp 0 0 0.0.0.0:6996 0.0.0.0:* LISTEN 22065/lwfs
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 38296/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5278/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 5013/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 5962/master
tcp 0 0 0.0.0.0:8666 0.0.0.0:* LISTEN 44868/lwfs
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 22065/lwfs
# netstat -tunlp | grep 8000
tcp    0    0 0.0.0.0:8000   0.0.0.0:*   LISTEN   22065/lwfs

说明一下几个参数的含义:

 -t (tcp) 仅显示tcp相关选项-u (udp)仅显示udp相关选项-n 拒绝显示别名,能显示数字的全部转化为数字-l 仅列出在Listen(监听)的服务状态-p 显示建立相关链接的程序名

附加一个python端口占用监测的程序,该程序可以监测指定IP的端口是否被占用。

1 #!/usr/bin/env python2 # -*- coding:utf-8 -*-3 4 import socket, time, thread5 socket.setdefaulttimeout(3) #设置默认超时时间6 7 def socket_port(ip, port):8     """9     输入IP和端口号,扫描判断端口是否占用10     """11     try:12         if port >=65535:13             print u'端口扫描结束'14         s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)15         result=s.connect_ex((ip, port))16         if result==0:17             lock.acquire()18             print ip,u':',port,u'端口已占用'19             lock.release()20     except:21         print u'端口扫描异常'22 23 def ip_scan(ip):24     """25     输入IP,扫描IP的0-65534端口情况26     """27     try:28         print u'开始扫描 %s' % ip29         start_time=time.time()30         for i in range(0,65534):31             thread.start_new_thread(socket_port,(ip, int(i)))32         print u'扫描端口完成,总共用时:%.2f' %(time.time()-start_time)33 #       raw_input("Press Enter to Exit")34     except:35         print u'扫描ip出错'36 37 if __name__=='__main__':38     url=raw_input('Input the ip you want to scan: ')39     lock=thread.allocate_lock()40     ip_scan(url)

该程序履行成果如下:

# python scan_port.py
Input the ip you want to scan: 20.0.208.112
开端扫描 20.0.208.112
20.0.208.112 : 111 端口已占用
20.0.208.112 : 22 端口已占用
20.0.208.112 : 8000 端口已占用
20.0.208.112 : 15996 端口已占用
20.0.208.112 : 41734 端口已占用
扫描端口完结,一共用时:9.38

原文链接:http://www.magedu.com/71838.html

转载于:https://blog.51cto.com/mageedu/1929081

linux中如何查询端口被占用的情况相关推荐

  1. linux查端口被占用情况,Linux系统中如何查询端口被占用情况

    今天小编要跟大家分享的文章是关于Linux系统中如何查询端口被占用情况.正在从事Linux运维工作的小伙伴来和小编来和小编一起看一看吧,希望能够对大家有所帮助. Linux如何查看端口 1.lsof ...

  2. linux怎么看一个端口是否可用,LINUX中查看某个端口是否被占用的方法

    LINUX中查看某个端口是否被占用的方法 发布时间:2020-07-23 13:55:09 来源:亿速云 阅读:64 作者:小猪 这篇文章主要讲解了LINUX中查看某个端口是否被占用的方法,内容清晰明 ...

  3. netstat查询端口被占用

    netstat查询端口被占用 以下文章主要以80端口号为例,如果想知道其他的端口号也可以使用该方法.......................... 1.在windows下如何查看80端口占用情况? ...

  4. linux删除80端口,linux下解决80端口被占用

    安装一个nginx服务,在启动的时候报80端口被占用了,我们来检查一下有哪些服务占用了80端口 首先我们查一下占用80端口的有哪些服务,netstat -lnp|grep 80 查看80端口被那些服务 ...

  5. linux vnc 改端口号,基于Linux中vnc配置端口号的修改方法

    vnc的默认端口是自己配置的,并不是这有一个端口号. 通过打开/etc/sysconfig/vncservers. 这里就配置了2个桌面,一个桌面号是1, 一个是2. 这里的配置的参数 VNCSERV ...

  6. Linux网络协议栈:Linux 中每个 TCP 连接最少占用多少内存?

    Linux 中每个 TCP 连接最少占用多少内存? https://zhuanlan.zhihu.com/p/25241630 因为原文作者明确说明,不可转载,这里我只给出链接,仅供参考.

  7. linux 更改ssh端口_如何在Linux中更改SSH端口-简易指南

    linux 更改ssh端口 The default port on SSH is 22. But for security reasons, it's a good idea to change SS ...

  8. 关于phpStudy 中Apache 80端口被占用问题

    关于phpStudy 中Apache 80端口被占用问题,解决办法: 一般80端口默认被PID为4的系统进程占用,为解决此问题,必须预先对操作系统进行如下设置:单击Windows"开始&qu ...

  9. Linux 中如何查询默认网关

    Linux 中如何查询默认网关 我在cnaaa上购买了云服务器. 网关是两个网络之间的入口,路由器就是网关的一个例子.你的网络中所有的流量都是流向路由器,然后再通过路由器流向互联网. 有时候你需要知道 ...

最新文章

  1. webpack 配置react脚手架(四):路由配置
  2. 关于perl中DBD for Oracle的安装
  3. 基于Quartz.net 的开源任务管理平台
  4. 18000 6c java_面向ISO18000-6C协议的无源超高频射频识别标签芯片设计
  5. javafx 表单_JavaFX 2:创建登录表单
  6. 这7个在线工具,帮助您快速开发WordPress主题
  7. java 牛生小牛_例题:大牛生小牛的问题解决方法
  8. 网页设计 html鼠标悬停,利用css3实现的简单的鼠标悬停按钮
  9. python删除第一行_python3.7 openpyxl 删除指定一列或者一行的代码
  10. Bran的内核开发指南_中文版
  11. 清华大学发布OpenNE:用于网络嵌入的开源工具包
  12. Mybatis日志实现
  13. ARP网关欺骗原理及解决办法
  14. magisk 启动 安全 app
  15. WordPress主题 Modown V3.0+Erphpdown9.7.1虚拟素材资源付费下载响应式主题网站模板
  16. linux下查看opencv版本
  17. php 获取xlsx,PHP Excel Reader读取xlsx文件
  18. 为iPhone日历添加天气和农历
  19. 市场营销中的色彩心理学
  20. cmd命令操作Windows注册表

热门文章

  1. java线程占用CPU_在windows下揪出java程序占用cpu很高的线程并完美解决
  2. java头像交互式差分演变_一种基于交互式差分进化计算的用户知识需求获取方法与流程...
  3. 可视化_仓库管理可视化
  4. android udp定时发送,Android Socket基于UDP协议通信
  5. springboot 获取application参数_LOOK ! SpringBoot的外部化配置最全解析
  6. 【新星计划】Matlab实现数据导出
  7. 2021-02-23 Matlab数据导入--importdata和load函数
  8. android bitmap 占用内存大小,drawable与bitmap内存占用大小
  9. velodyne显示点云中grid的单位_led显示屏怎么选择点间距
  10. CentOS7解决配置静态IP还是会出现动态IP地址的问题