使用python-nmap来扫描端口信息
简介如何使用Python来扫描计算机的开放端口呢?Python中提供了python-nmap包,所以使用非常方便,本文主要记录如何使用python-nmap来扫描端口信息。
一、安装
python 使用python-nmap来扫描端口信息,首先要在系统中安装nmap,命令如下
yum install nmap
二、使用
使用代码如下:
# coding=utf-8
import sys
import nmap
input_raw = raw_input("Please input hosts and port:")
print "input_row: " + input_raw
rows = input_raw.split(" ")
if len(rows) != 2:
print "input row Error"
exit()
hosts = rows[0]
ports = rows[1]
try:
nm = nmap.PortScanner()
except nmap.PortScannerError:
print "Nmap not fount",sys.exc_info()[0]
exit()
except:
print "Unexpected error:", sys.exc_info()[0]
try:
nm.scan(hosts=hosts, arguments=' -v -sS -p '+ports)
except Exception, e:
print "Scan erro:" + str(e)
for host in nm.all_hosts():
print '-----------------------------------------------'
print 'Host: %s(%s)'%(host,nm[host].hostname())
print "State: %s"%(nm[host].state())
for proto in nm[host].all_protocols():
print '--------------'
print 'Protocol: %s'%proto
lport = nm[host][proto].keys()
lport.sort()
for port in lport:
print "port %s\tstate: %s"%(port,nm[host][proto][port]['state'])
运行:
python test.py
输出:
10.3.15.10-20 80,22,433,3306
``
在PHP中,对二维数组排序还是非常简单的,但是在Golang中对二位数据排序显的就稍显麻烦,但是我们还是可以通过结构体来进行排序,本文主要记录Golang如何通过结构体的多个字段来进行排序。
如何使用Python来扫描计算机的开放端口呢?Python中提供了python-nmap包,所以使用非常方便,本文主要记录如何使用python-nmap来扫描端口信息。
Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。在我的博客中,也使用了Markdown作为文本编辑器。那么我将总结下自己在写作的过程中,常用的一些语法格式,以便后期进行查阅。
在使用Docker的过程中,如果我们需要自己来定制镜像那么就会用到Dockerfile。本文主要是记录Dockerfile的说明和相关指令。
在做搜索列表分页的时候,需要分页后的页面跳转的url地址中包含搜索的参数,在Laravel中的如何处理呢?
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题