服务扫描

栏目: 编程工具 · 发布时间: 6年前

内容简介:通过上一篇得到正在开放的端口,是不能绝对的认定哪个端口对应的就是某个服务软件或者协议的端口,这不是绝对的。下面扫描一些对应端口所开放的服务。最简单的就是通过nv来简单查看一下。

通过上一篇得到正在开放的端口,是不能绝对的认定哪个端口对应的就是某个服务软件或者协议的端口,这不是绝对的。

下面扫描一些对应端口所开放的服务。

  • Banner信息
    通过banner信息可以获得包括软件开发商,软件名称,服务类型,版本号等信息,有可能通过已知的漏洞和弱点直接渗透到目标主机,当然所有的信息都可能不是真实的,所有有必要结合一些另类的服务识别方法,比如,特征识别和响应字段,而不同的响应可用于识别底层的操作系统。除此外,若想获得对方的banner 信息,就必须通过直接连接的方法。
  • 简单网络管理协议
    SNMP大概是所有网络管理员配置起来最容易出错的一项服务了。
  • 识别防火墙并绕过

Python Socket获取Banner信息

最简单的就是通过nv来简单查看一下。

Scapy最主要的作用是向网络里注入数据包,但是它 缺乏对应用层的支持 ,比如很难去发送一个http包,ssh包,它主要针对于三四层网络中包的注入,劫持,嗅探。 此时便需要通过Scoket与目标进行tcp连接 ,以进行更多的应用层的信息传输。

进入Python,导入Scoket模块:

构建一个最简单的Socket连接

>>> import socket
#这是一个建立socket的标准指令方式
#创建一个socket对象,并构建一个banner实例,用以建立一个tcp连接,SOCK_STREAM代表tcp连接
>>> banner = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#连接目标端口
>>>banner.connect(("192.168.0.101", 21))
#指定接收数据的大小
>>>banner.recv(4096)
#关闭连接
>>>banner.close()

Python脚本实现Banner信息获取

#!/usr/bin/python
#-*-coding:utf-8-*-
 
import socket
import select
import sys
 
if len(sys.argv)!=4:
    print"Usage __ /banner_get.py [Target -IP]j [Fisrst Port] [Last Port]"
    print"Example __ /banner_get.py 1.0.1.0 1 100"
    print"Example will get banner for TCP ports 1 through 100 on 10.0.0.5"
    sys.exit()
 
ip = sys.argv[1]
start = int(sys.argv[2])
end = int(sys.argv[3])
 
for port in range(start, end):
  try:
    banget = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #表示建立tcp连接
    banget.connect((ip.port))
    ready = select.select([banget],[],[],1)#若超时时间为1
    if ready[0]:#如果ready=0表示没有被挂起的
      print"TCP Port"+str(port)+"."+banget.recv(4096)
      banget.close() #记得关闭连接,否则对双方来将都是一种伤害
  except:
    pass

NMAP获得Banner信息

NMAP获得banner信息主要是使用了一个banner脚本(nmap自带的)

nmap -sT 192.168.0.113 -p 100-500 --script=banner.nse
 
Starting Nmap 7.01 ( https://nmap.org ) at 2016-06-01 11:18 CST
Nmap scan report for 192.168.0.113
Host is up (0.00080s latency).
Not shown: 398 filtered ports
PORT    STATE SERVICE
135/tcp open  msrpc
139/tcp open  netbios-ssn

NMAP脚本的存放目录

cd /usr/share/nmap/scripts

AMAP

Kali里面除了一个NMAP以外还有一个AMAP,AMAP的主要作用便是用来识别端口后所运行的服务

参数: amap -B ip port

其中nmap的-B参数便是用来发现banner信息的。

NMAP特征识别

nmap 192.168.0.113 -p100-500 -sV
 
Starting Nmap 7.01 ( https://nmap.org ) at 2016-06-01 11:34 CST
Nmap scan report for 192.168.0.113
Host is up (0.00075s latency).
Not shown: 398 filtered ports
PORT    STATE SERVICE      VERSION
135/tcp open  msrpc        Microsoft Windows RPC
139/tcp open  netbios-ssn  Microsoft Windows 98 netbios-ssn
445/tcp open  microsoft-ds Microsoft Windows 10 microsoft-ds
MAC Address: 5C:F9:DD:6A:02:61 (Dell)
Service Info: OSs: Windows, Windows 98, Windows 10; CPE: cpe:/o:microsoft:windows, cpe:/o:microsoft:windows_98, cpe:/o:microsoft:windows_10
 
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 15.08 seconds

NMAP -sV参数不再只是简单的探测扫描目标端口,而是会发送一系列复杂的探测包,根据响应特征获得signature, 获得的信息可信度大幅提高


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Out of their Minds

Out of their Minds

Dennis Shasha、Cathy Lazere / Springer / 1998-07-02 / USD 16.00

This best-selling book is now available in an inexpensive softcover format. Imagine living during the Renaissance and being able to interview that eras greatest scientists about their inspirations, di......一起来看看 《Out of their Minds》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具