服务扫描

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

内容简介:通过上一篇得到正在开放的端口,是不能绝对的认定哪个端口对应的就是某个服务软件或者协议的端口,这不是绝对的。下面扫描一些对应端口所开放的服务。最简单的就是通过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, 获得的信息可信度大幅提高


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

查看所有标签

猜你喜欢:

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

CSS实战手册

CSS实战手册

David Sawyer McFarland / 俞黎敏 / 电子工业出版社 / 2007-07-01 / 68.00元

CSS是一场革命 借用quirksMode的PPK(Peter-Paul Koch)的话来说:CSS是一场革命。 Ajax的浪潮正在逐步改变着Web开发的方式。谈到Ajax,开发人员似乎更注重于 XMLHttpRequest 和 JavaScript ,而淡忘了Ajax还有一个重要的组成部分 CSS。 事实上,CSS和DOM、xHTML以及粘合它们的JavaScript密不可分,......一起来看看 《CSS实战手册》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

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

Markdown 在线编辑器