我的编程空间,编程开发者的网络收藏夹
学习永远不晚

扫描端口占用情况的python脚本

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

扫描端口占用情况的python脚本

    之前项目上线前,领导要求让写一个脚本用来判断端口的占用情况。由于现在python3使用也比较多,基于python2修改了一下,做了个python3版本的,现在做一下总结。

一、python脚本实现扫描端口:

    pthon2下代码如下(当时的环境):

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# used for pthon2.*
  
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)

        效果图:

    wKiom1lKNMixnGGfAABDtYb7fIA745.png-wh_50

    python3的代码:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# used  for python3.*
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=input('Input the ip you want to scan: ')
	lock=_thread.allocate_lock()
	ip_scan(url)

    效果:

    wKiom1lKNYOh2GtpAABwqoRjik8857.png二、linux命令判断

    1. lsof -i:端口号   用于查看指定端口号的占用情况,如下查看80端口的情况。

wKioL1lKNuDw8nIVAAAkIWYgxks058.png    2.netstat -tunlp |grep 端口号,用于查看指定的端口号的进程情况,如查看25端口的情况,netstat -tunlp |grep 25

wKiom1lKN7iA4vaYAABGY_J4_4o959.png三、写python脚本中出现的问题

   1.ImportError: No module named 'thread'

    说没有thread这个模块,python3中没有了thread模块,取而代之的是_thread和threading(推荐使用),_thread是为了过渡使用的。

  2.IndentationError: unindent does not match any outer indentation level

    百度后发现原因是因为混用了空格和tab。

    tab键设置为4位。vim  /etc/vimrc  增加set ts=4

  3.关于python2与python3的区别

    请查看该篇文章http://www.cnblogs.com/hanggegege/p/5840005.html


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

扫描端口占用情况的python脚本

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

扫描端口占用情况的python脚本

之前项目上线前,领导要求让写一个脚本用来判断端口的占用情况。由于现在python3使用也比较多,基于python2修改了一下,做了个python3版本的,现在做一下总结。一、python脚本实现扫描端口:    pthon2下代码如下(当时
2023-01-31

python扫描ip的端口打开情况

我们的韩国bss系统上线之后,要求对主机的端口、资源使用进行统计,端口每个主机去看,太费劲了,所以,就写了这样一个小程序,不是很完美但是,可以用啊!哈哈哈,别喷,本人是个菜鸟#!/usr/bin/python# -*- coding:utf
2023-01-31

windows 查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器,打开资源监视器,按下“Win + R”键,在运行框中输入“resmon”,然后点击“确定”按钮;2、使用命令提示符查看端口信息,可以使用netstat命令来查
2023-08-02

shell脚本结合iptables防端口扫描的实现

网上有现在的防端口工具,如psad、portsentry,但觉得配置有点麻烦,且服务器不想再装一个额外的软件。所以自己就写了个shell脚本实现这个功能。基本思路是:使用iptables的recent模块记录下在60秒钟内扫描超过10个端口
2022-06-04

python编写小程序探测linux端口占用情况

今天要使用pythoEuNjuMNtin写一个端口探测的小程序,以检测一些特定的服务端口有没有被占用,突然发现自己居然不知道在linuEuNjuMNtix中如何查询端口被占用的情况,天呐,赶快学习
2022-06-04

shell脚本结合iptables防端口扫描的实现方法

这篇文章主要讲解了“shell脚本结合iptables防端口扫描的实现方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“shell脚本结合iptables防端口扫描的实现方法”吧!网上有现在
2023-06-09

Linux中怎么查询端口被占用的情况

本篇内容主要讲解“Linux中怎么查询端口被占用的情况”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux中怎么查询端口被占用的情况”吧!Linux如何查看端口1、lsof -i:端口号 用
2023-06-16

如何用python编写小程序探测linux端口占用情况

这篇文章给大家介绍如何用python编写小程序探测linux端口占用情况,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。今天要使用python写一个端口探测的小程序,以检测一些特定的服务端口有没有被占用,突然发现自己居然
2023-06-22

linux系统用什么命令查看端口的占用情况

本篇内容主要讲解“linux系统用什么命令查看端口的占用情况”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux系统用什么命令查看端口的占用情况”吧!1、查看端口是否已经打开:netstat
2023-06-13

用Python编写一个高效的端口扫描器

PyPortScannerGithub背景具体实现I 利用TCP握手连接扫描一个给定的ipport地址对II 多线程扫描端口III 多线程扫描多个网站IV 总结利用这些代码扫描给定网站并输出结果python多线程端口扫描器。输出示例: Gi
2023-01-31

Linux 查看端口的占用情况并找出并杀死占用进程的方法

1 lsof查看端口的占用情况 1.1 命令使用示例# 命令为 lsof -i [root@onepiece ~]# lsof -i # 将会显示 命令 + 进程ID + 进程所属用户, 以及监听的协议、状态等信息 COMMAND PI
2022-06-04

Mac 上查看端口占用情况并结束进程的方法

标题:Mac 上查看端口占用情况并结束进程的方法 在 Mac 上,如果你想查看当前系统中哪些进程正在占用特定的端口,并且需要结束某个进程以释放端口,下面是一些方法可以帮助你完成这些任务。 步骤1:打开终端应用 在 Launchpad 或者
2023-08-16

Python利用socket实现多进程的端口扫描器

作为开发人员经常需要查看服务的端口开启状态判断服务是否宕机。特别是部署的服务比较多的情况下,可能存在几个甚至几十个服务端口的占用。所以本文将利用socket实现多进程的端口扫描器,需要的可以参考一下
2022-12-08

使用Python编写简单的端口扫描器的实例分享

单线程实现 单线程实现道理比较简单,这里尝试Soket连接3389,连接成功说明端口开放,否则说明没有开远程服务。随便修改了一下就ok了,代码如下,最终得到自己的IP地址。#!/usr/bin/env python import sock
2022-06-04

Shell脚本实现监控swap空间使用情况和查看占用swap的进程

#!/bin/bashecho -e `date +%y%m%d%H%M` echo -e "PIDttSwapttProc_Name"# 拿出/proc目录下所有以数字为名的目录(进程名是数字才是进程,其他如sys,net等存放的是其他信
2022-06-04

win7电脑遇到端口被占用的情况该如何查看并将其关闭

Windows7操作系统的酷炫和强大已经深受用户们的喜欢了,这里根大家分享的是教你查看win7电脑端口是否被占用的技巧,端口是我们在进行远程或者打印机等都会遇到的,但是有很多用户会遇到端口被占用的情况,遇到这样的问题首先就要找出电脑中编程的
2023-06-06

如何用Shell脚本实现监控swap空间使用情况和查看占用swap的进程

本篇内容主要讲解“如何用Shell脚本实现监控swap空间使用情况和查看占用swap的进程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用Shell脚本实现监控swap空间使用情况和查看占用
2023-06-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录