闲来无事用Python写了一个简陋的端口扫描脚本,其简单的逻辑如下:

1. python DetectHostPort.py iplist.txt(存放着需要扫描的IP地址列表的文本,每行一个地址)

2. 输入指定的扫描端口,扫描后完成后将生成日志文件。

源码如下:

#!/usr/bin/env pythonimport sys
import time
import socketdef getaddresslist(addr):"""getaddresslist(addr) -> IP address fileIP address read from the file."""try:with open(addr, "r") as ip_list:lines = ip_list.readlines()address = [line.strip() for line in lines]return addressexcept (IOError, IndexError), e:return str(e)def scan(ip_list, port):"""scan() -> getaddresslist()getaddresslist() function returns the IP address of the list."""if not isinstance(ip_list, list):sys.exit("Function getaddresslist() return error message: %s" % ip_list)s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.settimeout(1)f = open('E:\programming\public\python\scan.log', 'ab')for addr in ip_list:host = (addr, int(port))try:s.connect(host)f.write("Host %s:%s connection success. \n" % (host[0], host[1]))except Exception, e:f.write("Host %s:%s connection failure: %s. \n" % (host[0], host[1], e))f.close()s.close()return Trueif __name__ == '__main__':addrs = sys.argv[1]isNone = Truewhile isNone:scanport = raw_input("Enter the scan port: ")if scanport:isNone = Falseelse:continuescan(getaddresslist(addrs), scanport)

运行时只能扫描一个端口,但是可以对代码进行修改,扩展为扫描多个端口。

转载于:https://www.cnblogs.com/XuHoo/p/5888528.html

Python批量扫描服务器指定端口状态相关推荐

  1. Python批量检测服务器端口可用性与Socket函数使用

    socket函数 简述 socket又称套间字或者插口,是网络通信中必不可少的工具.有道是:"无socket,不网络".由于socket最早在BSD Unix上使用,而Unix/L ...

  2. 扫描服务器的端口信息是什么,远程shell扫描服务器的端口号

    远程shell扫描服务器的端口号 内容精选 换一换 Linux云服务器一般采用SSH连接方式,使用密钥对进行安全地无密码访问.但是SSH连接一般都是字符界面,有时我们需要使用图形界面进行一些复杂操作. ...

  3. iis ftp服务器修改端口号,iis ftp服务器指定端口

    iis ftp服务器指定端口 内容精选 换一换 以IDE Daemon服务器的时间为准,将Host侧服务器的时间与IDE Daemon服务器的时间同步.以HwHiAiUser用户登录Host侧服务器. ...

  4. python批量重命名指定目录下所有文件的后缀名

    python批量重命名指定目录下所有文件的后缀名 有个需求,需要把某个文件夹下所有后缀名为.abc的更改为.xyz; #批量重命名指定目录下面所有文件的后缀名. word_dir为需要更改后缀的文件夹 ...

  5. php如何扫描局域网ip,python实现扫描局域网指定网段ip的方法

    一.问题由来 工作的局域网中,会接入很多设备,机器人上的网络设备就2个了,一个巨哥红外,一个海康可见光.机器人还有自身的ip. 有时候机器人挂的多了,设备维修更换中,搞来搞去就不记得ip是什么,用自带 ...

  6. python 文件更新_使用Python批量更新服务器文件【新手必学】

    买了个Linux服务器,Centos系统,装了个宝塔搭建了10个网站,比如有时候要在某个文件上加点代码,就要依次去10个文件改动,虽然宝塔是可视化页面操作,不需要用命令,但是也麻烦,虽然还有git的h ...

  7. python批量提取word指定内容_使用python批量读取word文档并整理关键信息到excel表格的实例...

    目标 最近实验室里成立了一个计算机兴趣小组 倡议大家多把自己解决问题的经验记录并分享 就像在CSDN写博客一样 虽然刚刚起步 但考虑到后面此类经验记录的资料会越来越多 所以一开始就要做好模板设计(如下 ...

  8. python批量提取word指定内容到excel_(转)用python批量读取word文档并整理关键信息到excel表格...

    目标 最近实验室里成立了一个计算机兴趣小组 倡议大家多把自己解决问题的经验记录并分享 就像在CSDN写博客一样 虽然刚刚起步 但考虑到后面此类经验记录的资料会越来越多 所以一开始就要做好模板设计(如下 ...

  9. Server-U 访问外网服务器指定端口(内网21端口,外网其他端口)

    1.安装server-u,创建用户和域自行百度. 2.先使用同一局域网使用xftp或FileZilla工具进行测试,同一网端无法连接成功请自行百度,这里不详细描述. 3.内外网映射 例如:内网使用ft ...

  10. python批量提取word指定内容_python word 段落提取

    如何用python读取word 使用Python的内部方法open()读取文本文件try:f=open('/file','r')print(f.read())finally:if f:f.close( ...

最新文章

  1. CCNA系列课程(1) 网络基础
  2. 2017.04.02【NOIP 普及组】模拟赛C组 T1:区间
  3. 【转】【Android】使用BaseAdapter实现复杂的ListView
  4. UWP使用AppService向另一个UWP客户端应用程序提供服务
  5. 如何验证 MySQL 的 InnoDB 在可重复读下依然会有幻影行问题及其原因
  6. [linux] ubuntu gnome 控制面板恢复
  7. css方法div固定在网页底部
  8. 遍历字典时用与不用iter的区别
  9. javascript 不让成为nan_JavaScript高级,第一集
  10. 谷歌浏览器Chrome播放rtsp视频流解决方案
  11. windows操作系统启动后,不用输入用户名和密码,自动登录设置
  12. PCA9685与 NXP1768单片机iic通信,扩展PWM端口。已调试成功。
  13. JS设计模式与开发实践
  14. 4r照片尺寸是多大_4寸照片尺寸多少厘米 多少像素
  15. 传统蓝牙BR/EDR的搜索Inquiry
  16. edge浏览器,无法继续下载,提示检测到病毒的问题
  17. KVM移植之ITRON版
  18. 媒体 | 冒志鸿:ArcBlock打造跨链应用平台的思路
  19. C语言--数据在内存中的存储
  20. 【数据服务校招专场】云和恩墨2022届春季校招「数据服务岗位」持续招聘中!...

热门文章

  1. 快速实现ARM和DSP的通信和协同工作
  2. MobaXterm 复制粘贴快捷键
  3. 微软商店打不开,错误代码0x80131500
  4. 交换机和路由器的区别
  5. 基于深度学习的自然场景文字识别系统研究 faster-RCNN + CRNN (二)
  6. ht for web(图扑)加载模型
  7. RFID 射频识别技术 NFC ISO14443 - A 协议 RC522
  8. 仅在 localhost 中部署并使用 RSSHub
  9. Unity 制作倒计时
  10. Swift语言中的@available 和 #available