首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python端口扫描

前段时间写了个端口扫描python脚本,发现现在忘记的差不多了,赶紧记录下来吧,虽然是并发的,但是在实际的使用场景中,如果扫描的机器过多,依旧有性能上的问题,好在我需要扫描的机子就那么几台.脚本写的生烂.../usr/bin/env python #-*- coding:utf-8 -*- import nmap import threading import smtplib import string from...port]['state'],nm[ip]['tcp'][port]['name'])         result = result + portinfo    return result #定义多线程扫描...__ == "__main__":   main()   sender = 'lidefu@lingyuwangluo.com'   receiver = MailList   #邮件主题,如:xxx端口扫描...  subject = 'xxx端口扫描'   smtpserver = 'smtp.xxxx.com'   smtpuser = 'xxxx@xxxx.com'   smtppass = 'xxxx

1.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

python进行TCP端口扫描

首先我们供给一台主机要进行的步骤就是对其主机端口扫描,查看其中开放的端口。 我们首先创建一个TCP的全连接的扫描器。我们使用socket来创建连接器。...扫描端口开放 #测试当前主机和端口是否开放,直接使用socket连接 def connScan(host,port): try: connSkt = socket.socket(...tgtPort)) connScan(tgtHost, int(tgtPort)) portScan('www.baidu.com', [80,443,3389,1433,23,445]) 对百度的端口进行扫描...因为每一个socket都有时间延迟,每一个socket扫描都将会耗时几秒钟,虽 然看起来无足轻重,但是如果我们扫描多个端口和主机延迟时间将迅速增大。...理想情况下,我们希望这些socket按顺序扫描。引入Python线程。线程提供 了一种同时执行的方式。在我们的扫描中利用线程,只需将 portScan()函数的迭代改一下。

81840

端口扫描之开放端口扫描方式

端口扫描器 参考:https://www.imooc.com/article/286803 常见的端口扫描类型 1. TCP 连接扫描 2....UDP 扫描 1、TCP连接扫描 若客户端想要连接服务器80端口时,会先发送一个带有 SYN 标识和端口号的 TCP 数据包给服务器(本例中为80端口)。...FIN 扫描会向服务器发送带有 FIN 标识和端口号的 TCP 数据包。...它的结果只能说明端口是否被过滤。再次强调,ACK 扫描不能发现端口是否处于开启或关闭状态。 客户端会发送一个带有 ACK 标识和端口号的数据包给服务器。...TCP 窗口扫描的流程同 ACK 扫描类似,同样是客户端向服务器发送一个带有 ACK 标识和端口号的 TCP 数据包,但是这种扫描能够用于发现目标服务器端口的状态。

2.2K20

Python 原生Socket实现端口扫描

端口扫描,就是逐个对一段端口或指定的端口进行扫描。通过扫描结果可以知道一台计算机上都提供了哪些服务,Python中使用Socket即可实现对特定端口的探测,以及对C段的扫描。...扫描目标主机Banner: 为了让函数获得完整的屏幕控制权,这里使用一个信号量,它能够阻止其他线程运行而避免出现多线程同时输出造成的乱码和失序等情况....a = "192.168.1.{}".format(i) t = Thread(target=ScanBanner,args=(a,80)) t.start() 针对域名C段扫描...C段地址") parser.add_argument("-p", "--port", dest="port", help="设置要扫描端口列表") args = parser.parse_args...for t in thread: t.join() else: parser.print_help() 例如需要探测特定80,443,445,135,139端口

37010

Python | 使用Python3 实现端口扫描

原本打算寒假的时候好好学习一下python,毕竟搞安全可离不开Python,正好目前学习的课程开设到了Python方面,就把笔记分享一下,此文也已经同步到我的博客。...1、Connect()扫描扫描试图与每一个TCP端口进行“三次握手”通信。如果能够成功建立接连,则证明端口开发,否则为关闭。...在前两种扫描中,有响应数据包的表示端口开放,但在NUll扫描中,收到响应数据包表示端口关闭。反向扫描比前两种隐蔽性高些,当精确度也相对低一些。 用途:判断是否为Windows系统还是Linux。...此类扫描同样不能准确判断windows系统上端口开发情况。 端口开放:发送FIN,没有响应 端口关闭:1、发送FIN 2、回复RST 5、ACK扫描 扫描主机向目标主机发送ACK数据包。...二、Python 代码实现 1、利用Python的Socket包中的connect方法,直接对目标IP和端口进行连接并且尝试返回结果,而无需自己构建SYN包。

3.4K32

0×1 Python教程:端口扫描程序

在本教程中,我们将演示如何通过构建基本端口扫描程序与Python建立网络连接。我们将要做的是基于ip / port组合反复建立网络套接字连接。...要制作简单的端口扫描程序,我们将使用创建套接字连接的代码片段替换print语句。...现在让我们结合所有这些概念并制作一个快速的循环端口扫描程序: >>> >>> for port in range(20,25): ... try: ......创建端口扫描程序的另一种方法是定义一个您希望用数组扫描端口列表,然后遍历该数组: >>> >>> ports = [22, 445, 80, 443, 3389] >>> for port in ports...对于最终端口扫描程序,您可能希望将print语句修改为仅打印已打开的端口。 在一天结束时,您会发现Nmap仍然是端口扫描的更好选择,但我们将在后面的文章中构建这些概念,以完成一些更实际的用例。

51930

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

之前项目上线前,领导要求让写一个脚本用来判断端口的占用情况。由于现在python3使用也比较多,基于python2修改了一下,做了个python3版本的,现在做一下总结。...一、python脚本实现扫描端口:     pthon2下代码如下(当时的环境): #!...(3) #设置默认超时时间   def socket_port(ip, port): """           输入IP和端口号,扫描判断端口是否占用 """ try: if port >=...: print u'端口扫描异常'   def ip_scan(ip): """      输入IP,扫描IP的0-65534端口情况 """ try: print u'开始扫描 %s' ... (u'端口扫描异常')    def ip_scan(ip): """ 输入IP,扫描IP的0-65534端口情况 """ try: print (u'开始扫描 %s' % ip) start_time

1.7K20
领券