查看135端口,不带后边的是查看所有已经打开的端口
查看端口135使用的进程
关闭占用135端口的进程
Tcp端口扫描的几种类型:
一:Tcp connect扫描:全连接扫描,完成tcp三次握手,结果准确,但速度比较慢,也可轻易被目标系统检测到。
二:Tcp SYN扫描:半开放扫描,发送一个SYN包,启动一个TCP会话,等待目标响应数据包,如果收到RST包,表明端口关闭,SYN/ACK包,表示端口打开。
三:Tcp FIN扫描:发送一个表示拆除一个活动的TCP链接的FIN包,让目标关闭连接,如果收到RST表明端口是关闭的。
四:Tcp XMAS扫描:发送PSH、FIN、URG和TCP标志位被设为1的数据包,如果收到RST包,表明端口是关闭的。
Tcp connect扫描
# -*- coding=utf-8 -*-
import threading
from socket import *
import argparse
lock = threading.Lock()
openNum = 0
threads = []
def portScanner(host,port):
global openNum
try:
s = socket(AF_INET,SOCK_STREAM)
s.connect((host,port))
lock.acquire()
print('端口%d已经打开'%port)
openNum +=1
lock.release()
s.close()
except:
# print('端口%d已经关闭'%port)
pass
def main():
p = argparse.ArgumentParser(description='端口扫描!')
p.add_argument('-H',dest='hosts',type=str)
p.add_argument('-R',dest='range',type=int)
args= p.parse_args()
hostList = args.hosts.split(',')
port_range = args.range
setdefaulttimeout(1)
for host in hostList:
print('开始扫描%s目标主机'%host)
for p in range(1,port_range):
t = threading.Thread(target=portScanner,args=(host,p))
threads.append(t)
t.start()
for t in threads:
t.join()
print('扫描结束','总共有%d个端口打开'%openNum)
if __name__ == '__main__':
main()
使用nmap扫描
nm = nmap.PortScanner()
tmp = nm.scan('www.baidu.com', '0-4564')
:param hosts: 'scanme.nmap.org' or '198.116.0-255.1-127' or '216.163.128.20/20'
:param ports: '22,53,110,143-4564'
:param arguments: '-sU -sX -sC'
:param sudo: 是否用管理员模式,是True否Flase
:returns: {
'scan': {
'61.135.169.125': {
'addresses': {
'ipv4': '61.135.169.125'
},
'tcp': {
80: {
'version': '',
'conf': '10',
'product': 'Apachehttpd',
'state': 'open',
'name': 'http',
'cpe': 'cpe: /a: apache: http_server',
'reason': 'syn-ack',
'extrainfo': ''
},
443: {
'version': '1.0.8.18',
'conf': '10',
'product': 'BaiduFrontEndhttpd',
'state': 'open',
'name': 'http',
'cpe': '',
'reason': 'syn-ack',
'extrainfo': ''
}
},
'status': {
'state': 'up',
'reason': 'echo-reply'
},
'hostnames': [
{
'type': 'PTR',
'name': 'www.baidu.com'
}
],
'vendor': {
}
}
},
'nmap': {
'command_line': 'nmap-oX--p0-4564-sV61.135.169.125',
'scaninfo': {
'tcp': {
'services': '0-4564',
'method': 'syn'
}
},
'scanstats': {
'totalhosts': '1',
'timestr': 'TueNov1517: 53: 032016',
'downhosts': '0',
'uphosts': '1',
'elapsed': '36.20'
}
}
}