Python探测主机端口是否存活】的更多相关文章

#!/usr/bin/python3 import socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) result = sock.connect_ex(('10.10.130.111',8080)) if 0 == result: print("Port is open") else: print("Port is not open,return code:%s" % result)…
这个脚本用于扫描网络中的存活主机,通常在CMDB中自动获取主机的时候用到. #!/usr/bin/env python # -*- coding: utf-8 -*- """ 执行这个脚本的主机要安装下面两个模块 pip3 install python-nmap 这个Python模块依赖操作系统的nmap 确保操作系统安装了nmap yum -y install nmap # for centos 主要功能:扫描网段获取存活主机以及主机是否为Linux.不是Linux的被标记…
[原创]K8 Cscan 大型内网渗透自定义扫描器 https://www.cnblogs.com/k8gege/p/10519321.html Cscan简介:何为自定义扫描器?其实也是插件化,但Cscan不需要编程同样可实现自定义功能,这比单纯插件化更容易实现插件功能Cscan旨在为用户提供一个高度灵活.简单易用.多线程.多网段的插件化扫描框架,减少大量重复性工作提高工作效率3.3及以上版本分为检测存活和不检测存活主机模式 程序采用多线程批量扫描大型内网IP段C段存活主机(支持上万个C段)插…
一.常见端口扫描的原理 0.秘密扫描 秘密扫描是一种不被审计工具所检测的扫描技术. 它通常用于在通过普通的防火墙或路由器的筛选(filtering)时隐藏自己. 秘密扫描能躲避IDS.防火墙.包过滤器和日志审计,从而获取目标端口的开放或关闭的信息.由于没有包含TCP 3次握手协议的任何部分,所以无法被记录下来,比半连接扫描更为隐蔽. 但是这种扫描的缺点是扫描结果的不可靠性会增加,而且扫描主机也需要自己构造IP包.现有的秘密扫描有TCP FIN扫描.TCP ACK扫描.NULL扫描.XMAS扫描和…
目录 Socket模块编写 扫描给定主机是否开放了指定的端口 python-nmap模块编写 扫描给定ip或给定网段内指定端口是否开放 一个用python写的简单的端口扫描器,python环境为 3.7.0,windows系统 Socket模块编写 扫描给定主机是否开放了指定的端口 TCP连接扫描是利用TCP的三次握手来确定主机的端口是否开放.确定主机端口开放之后,给端口发送消息,接收端口返回的消息,然后判断该端口运行的服务. 使用时,-H 参数可以提供主机的域名或者ip地址,-p/-P 写要扫…
0x 00 Before Coding 当端口打开时,向端口发送 TCP SYN 请求,会返回一个 ACK 响应: 当端口关闭,返回的是 RST 响应: 0x 01 Coding  可以用 socket 编写一个小脚本来测试主机端口的开启情况,基本代码如下: # coding: utf-8 import socket from datetime import datetime # Set time-out to get the scanning fast socket.setdefaulttim…
Java 实现 telnet命令 验证主机端口的连通性 1.Telnet 命令 Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式.它为用户提供了在本地计算机上完成远程主机工作的能力.在终端使用者的电脑上使用telnet程序,用它连接到服务器.终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样.可以在本地就能控制服务器.要开始一个telnet会话,必须输入用户名和密码来登录服务器.Telnet是常…
今天添加端口探测功能,主要实现方式是通过nmap模块调用,扫描1-65535端口.上一篇中已经将UP的PC机全部获取到,这里直接从已知在线的PC中进行端口扫描就可以了,会节省很多时间. 代码如下,还是非常简单的: import nmap import time import csv import os class Port_Scan(object): def __init__(self): self.rootpath = 'C:/cunhuo/' self.dirpath = 'C:/portS…
下面是最初的情况 #/usr/bin/env python # -*- coding: utf-8 -*- import os import time import subprocess import threading from threadpool import ThreadPool import threadpool import re from Queue import Queue def ping_call(): while not IP_QUEUE.empty(): ip=IP_QU…
Linux如何查看端口 1.lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000 # 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占用 2.netstat -tunlp |grep 端口号,用…
#! python # -*- coding: utf-8 -*- __author__ = 'Deen' import os import threading import argparse # 从网关获取所有IP,如192.168.1.1-255,返回一个list存储 def get_all_ip(gateway): ip = list() # 改进,支持指定范围IP ip_prefix = gateway.split('.') # 对输入的gateway进行判断 # 第一种输入192.16…
对于端口扫描,使用的最多的就是nmap这个工具,不想python已经强大到,提供了nmap这个扫描端口的模块. 本片文章主要介绍nmap模块的两个常用类: PortScanner()类,实现一个nmap工具的端口扫描功能的封装: PortScannerHostDict()类,实现存储与访问主机的扫描结果. 安装:这里需要安装的是python-nmap模块,不是nmap模块,pip install python-nmap. PortScanner()类的一些常用方法: 1. scan()方法: s…
一.程序介绍 需求: 简单主机批量管理工具 需求: 1.主机分组 2.主机信息使用配置文件 3.可批量执行命令.发送文件,结果实时返回 4.主机用户名密码.端口可以不同 5.执行远程命令使用paramiko模块 程序结构: Host_manage/ #程序目录 ├── bin #启动程序目录 │   └── start.py #启动程序文件 ├── conf #配置目录 │   ├── __pycache__ │   │   └── settings.cpython-36.pyc │   └──…
1.查看主机信息 # more /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1       xyn-redhat      localhost.localdomain   localhost 2.查看进程 # ps -aux|grep java      //显示所有进程名中包含java字符串的进…
测试端口存活的最常用的方法是telnet $telnet 127.0.0.1 80 不过这个方法有一个不方便的地方:连接成功后会进入交互模式,需要按 ctrl + ] 和 q 才能退出. 后来,经过网上一番搜索,发现一个简便的方法,请出大神 nc $nc -zv 127.0.0.1 80 Connection to 127.0.0.1 port 80 [tcp/arepa-cas] succeeded! # 成功 nc: connectx to 127.0.0.1 port 80 (tcp) f…
问题 最近自己服务器访问别人的服务器,有时候会报超时错误,有时候又能够正常访问别人服务器. 思路 最开始猜测是网络不稳定造成的,但是自己没有收集什么时候超时,什么时候能正常访问别人服务器的日志,搞网络运维的同学根本不鸟我(其实,这活本来就是运维的事,有点小心塞,不过想起蜘蛛侠的名言). 能力越大,责任就越大 写个python脚本,然后,在python脚本里面使用telnet去连接别人服务器对应的端口,然后,计算连接前后的时间长短. 解决 import os import csv import t…
假设局域网中有多台主机,只能开通ssh服务(端口22),如果发现其他服务打开,则全部关闭.通过运行一个shell脚本,完成以上功能.在实际运维中,可以通过puppet等工具更快更好的完成这个功能,所以本案例仅仅用来练手,为了熟悉sed, awk, grep等常见的shell命令而已. 1.通过nmap命令查询局域网中所有主机打开的端口,并存入文件nmap1.txt中. # 通过nmap命令查询局域网中所有主机打开的端口,并存入文件nmap1.txt中 mkdir -p /wuhao/sh/fil…
背景 使用lcx也好,nc也好,总是会被安全防护软件查杀,所以想着自己写一个.顺面学习一下,端口转发的原理. 端口转发的逻辑 端口转发的逻辑很简单开启两个scoket,一个绑定IP端口进行listen,一个连接被转发的内网服务的IP和端口,使用select循环检测,转发信息. 代码 # -*- coding:utf-8 -*- import os import select import socket from optparse import OptionParser class PortMap…
编程语言(以Python 3 为例子) 编程语言最开始就是机器语言(低级语言,计算机能认识:0101... 最底层的指令代码),学习很困难.现在用机器语言的很少,芯片厂商的技术人员来编程之外:发展下来就是汇编语言, 汇编语言是通过助记符一一对应指令 ,跟机器语言原则一样. 机器语言跟汇编语言,都需要对计算机硬件知识十分了解,所以慢慢就产生了高级语言. 高级语言 (C ,JAVA ,PYTHON... )都是文本是跟人类看的,计算机识别不了.但是通过解释器就能运行.. 高级语言有:解释型 和编译型…
写一个 python 脚本,收集以下信息 ( CentOS 6 ) : IP地址 <ip>    主机名 <hostname>    操作系统版本 <osver>    服务器厂商 <vendor>    服务器型号 <product>    主板序列号 <sn>    CPU型号 <cpu_model>    CPU核数 <cpu_num>    内存大小 <memory> #!/usr/bin/…
1.pyqt4写的界面 find_ui.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 #-*- coding: utf-8 -*- from PyQt4 import…
才开始学习的时候有点忽略了这个模块,觉得既然Python3提供了requests库,为什么多此一举学习这个模块.后来才发现pycurl在探测Web服务器的时候的强大. pycurl是一个用c语言写的libcurl Python实现,支持的操作协议有FTP,HTTP,HTTPS,TELNET等,可以理解成linux下curl命令功能的python封装.通过调用pycurl提供的方法,实现探测Web服务质量的情况,比如响应的HTTP状态码,请求延时,HTTP头信息,下载速度等,利用这些信息可以定位服…
Table of Contents 1. 探测图片类型 1.1. python magic 1.2. imghdr 1.3. PIL.Image 探测图片类型 今天遇到一个小问题,如何探测图片的文件类型.总结如下: python magic magic 模块的github地址在这, 可以用来方便地探测文件类型,使用示例如下,可以方便地探测一个文件或是字节流文件. >>> import magic >>> magic.from_file("testdata/te…
UDP协议: 1.python中基于udp协议的客户端与服务端通信简单过程实现 2.udp协议的一些特点(与tcp协议的比较)        3.利用socketserver模块实现udp传输协议的并发通信 ------------------------------------------------------------------------------------------------------------------------------------- 一.UDP协议:OSI七…
基于python检测端口是否在使用 - 缘起花渊 - 博客园https://www.cnblogs.com/yqmcu/p/9804002.html def net_is_used(port,ip='127.0.0.1'): s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) try: s.connect((ip,port)) s.shutdown(2) print('%s:%d is used' % (ip,port)) return Tr…
Nginx实现虚拟机 可以实现在同一台服务运行多个网站,而且网站之间互相不干扰.同一个服务器可能有一个ip,网站需要使用80端口.网站的域名不同. 区分不同的网站有三种方式:ip区分.端口区分.域名区分,显然通过IP区分是不太现实的,这里只验证后两种方式 1.配置nginx基于端口号的虚拟主机 1.1 nginx配置文件中添加一个server节点,这里server节点的域名都是localhost,只是端口号不同 1.2 将 /usr/local/nginx/路径下的html目录复制一份,命名为h…
1.新建一个django project项目 django-admin startproject DjangoWeb 2.新建app python manage.py startapp master 3.编写models.py创建数据库模板 # -*- coding: utf8 -*- # linyouyi from django.db import models # Create your models here. class Business(models.Model): name = mo…
需求: 主机分组 主机信息配置文件用configparser解析 可批量执行命令.发送文件,结果实时返回,执行格式如下  batch_run  -h h1,h2,h3   -g web_clusters,db_servers    -cmd  "df -h" batch_scp   -h h1,h2,h3   -g web_clusters,db_servers  -action put  -local test.py  -remote /tmp/ 主机用户名密码.端口可以不同 执行远…
获取主机内网,外网IP,主机名 代码如下: #!/usr/bin/env python #-*- coding:utf-8 -*- # author:Zeng Xianhe import socket import fcntl,struct import time def getHardware(outip,inip): sk = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) ##1.获取主机名 hostname = socket.gethos…
在网上的一些资料的基础上自己又添了些新内容,算是Python socket编程练手吧. #coding=utf-8 import socket import time import sys import struct import threading from threading import Thread,activeCount results=[] def portScanner(ip,port): server = (ip,port) sockfd = socket.socket(sock…