如何用python编写小程序探测linux端口占用情况
发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,这篇文章给大家介绍如何用python编写小程序探测linux端口占用情况,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。今天要使用python写一个端口探测的小程序,以检测一些特定
千家信息网最后更新 2024年11月19日如何用python编写小程序探测linux端口占用情况
这篇文章给大家介绍如何用python编写小程序探测linux端口占用情况,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
今天要使用python写一个端口探测的小程序,以检测一些特定的服务端口有没有被占用,突然发现自己居然不知道在linux中如何查询端口被占用的情况。
1、lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000
# lsof -i:8000COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMElwfs 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 8000tcp 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, threadsocket.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.pyInput the ip you want to scan: 20.0.208.112开始扫描 20.0.208.11220.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
关于如何用python编写小程序探测linux端口占用情况就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
端口
情况
程序
口号
探测
服务
内容
数字
更多
帮助
监测
输入
不错
兴趣
别名
参数
含义
小伙
小伙伴
文件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全法 同步 同步
泉州网络安全技术提升实战教学
最新32k生存服务器推荐
ip网络技术课件
重庆战迪软件开发有限公司
数据库出现正在恢复
apex服务器关闭啥意思
win7软件开发入门
天猫 网络安全
用友k3服务器主机配置要求
抗投诉外贸服务器
綦江区一站式网络技术内容
饥荒服务器目录介绍
无人驾驶软件开发上市公司
浙大紫金港校园网服务器地址
创建数据库两种方式的区别
长春智能网络技术服务参考价格
软件开发接口是啥
微信多开互联网黑科技
海南省网络安全实战演练总结
服务器内网安全管理系统技术
底层软件开发什么意思
数据库有毛病了看什么
网络安全等级保护测试答案
计算机网络技术专业6
家用主机和服务器有什么区别
部门内部网络安全自查表
创建数据库文件必须遵循的原则
vulfocus网络安全靶场
oracle免费版数据库