用Python怎么实现探测linux端口有没有被占用
Admin 2022-06-22 群英技术资讯 1252 次浏览
这篇文章给大家分享的是用Python怎么实现探测linux端口有没有被占用。小编觉得挺实用的,因此分享给大家做个参考,文中的介绍得很详细,而要易于理解和学习,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。今天要使用python写一个端口探测的小程序,以检测一些特定的服务端口有没有被占用,突然发现自己居然不知道在linux中如何查询端口被占用的情况,天呐,赶快学习一下。
Linux如何查看端口
# 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占用
# 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的端口是否被占用。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import socket, time, thread
socket.setdefaulttimeout(3) #设置默认超时时间
def socket_port(ip, port):
"""
输入IP和端口号,扫描判断端口是否占用
"""
try:
if port >=65535:
print u'端口扫描结束'
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result=s.connect_ex((ip, port))
if result==0:
lock.acquire()
print ip,u':',port,u'端口已占用'
lock.release()
except:
print u'端口扫描异常'
def ip_scan(ip):
"""
输入IP,扫描IP的0-65534端口情况
"""
try:
print u'开始扫描 %s' % ip
start_time=time.time()
for i in range(0,65534):
thread.start_new_thread(socket_port,(ip, int(i)))
print u'扫描端口完成,总共用时:%.2f' %(time.time()-start_time)
# raw_input("Press Enter to Exit")
except:
print u'扫描ip出错'
if __name__=='__main__':
url=raw_input('Input the ip you want to scan: ')
lock=thread.allocate_lock()
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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了python的import 机制是怎么实现的,import有Python运行时的全局模块池的维护和搜索、解析与搜索模块路径的树状结构等作用,下文具体相关介绍需要的小伙伴可以参考一下
本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于CPython的相关问题,CPython的垃圾收集器是Python内置的为了解决循环引用问题的方法,下面一起来看一下,希望对大家有帮助。
这篇文章主要为大家详细介绍了如何利用Python语言实现超快窗口截图功能,可以自动获取当前活动窗口并展示截图,感兴趣的可以了解一下
这篇文章主要给大家介绍了关于利用python如何删除同一文件夹下相似的图片的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要为大家详细介绍了Python使用sftp实现上传和下载功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008