nmap是今朝为止最广为利用的海外端口扫描东西之一。我们可以从http://www.insecure.org/举办下载,可以很容易的安装到Windows和unix操纵系统中,包罗mac os x(通过configure、make 、make install等呼吁)也可以直接从http://www.insecure.org/下载windows二进制(包罗所需要的winpcap)也可以从http://www.nmapwin.org/得到nmap的图形windows。
扫描主机
$ nmap -sT 192.168.1.18
Starting nmap 3.48(http://www.insecure.org/nmap/)at 2007-10-10 18:13 EDT
Interesting ports on gamebase(192.168.1.18)
port state serverice
22/tcp open ssh
111/tcp open sunrpc
..........
$ nmap -sR 192.168.1.18
Startingnmap 3.48(http://www.insecure.org/nmap/)at 2007-10-10 18:13 EDT
Interesting ports on gamebase(192.168.1.18)
port state serverice
22/tcp open ssh
111/tcp open sunrpc
..........
我们可以利用ping扫描的要领(-sP),与fping的事情方法较量相似,它发送icmp回送请求到指定范畴的ip地点并期待响应。此刻许多主机在扫描的时候都做了处理惩罚,阻塞icmp请求,这种环境下。nmap将实验与主机的端口80举办毗连,假如可以吸收到响应(可以是syn/ack,也可以是rst),那么证明主机正在运行,反之,则无法判定主机是否开机可能是否在网络上互连。
扫描tcp端口
这里-sR是奈何在打开的端口上操作RPC呼吁来判定它们是否运行了RPC处事。
nmap可以在举办端口扫描的tcp报文来做一些奥秘的工作。首先,要有一个SYN扫描(-sS),它只做成立TCP毗连的前面一些事情,只发送一个配置SYN符号的TCP报文,一个RESET报文,那么nmap假设这个端口是封锁的,那么就不做任何工作了。假如吸收到一个响应,它并不象正常的毗连一样对这个报文举办确认,而是发送一个RET报文,TCP的三次握手还没有完成,很多处事将不会记录这次毗连。
有的时候,nmap会汇报我们端口被过滤,这意味着有防火墙或端口过滤器滋扰了nmap,使其不能精确的判定端口是打开照旧封锁的,有的防火墙只能过滤掉进入的毗连。
扫描协议
假如试图会见另一端无措施利用的UDP端口,主机将发回一个icmp“端口不行达”的提示动静,IP协议也是一样。每个传输层的IP协议都有一个相关联的编号,利用最多的是ICMP(1)、TCP(6)和UDP(17)。所有的IP报文都有一个“协议”域用于指出个中的传输层报文头所利用的协议。假如我们发送一个没有传输层报文头的原始IP报文并把其协议域编号为130[该编号是指雷同IPSEC协议的被称为安详报文外壳或SPS协议],就可以判定这个协议是否在主机上实现了。假如我们获得的是ICMP协议不行达的动静,意味着该协议没有被实现,不然就是已经实现了,用法为-sO.
隐蔽扫描行为
nmap给出了几个差异的扫描选项,个中一些可以配套着埋没扫描行为,使得不被系统日志、防火墙和IDS检测到。提供了一些随机的和欺骗的特性。具编制子如下:
FTP反弹,在设计上,FTP自身存在一个很大的裂痕,当利用FTP客户机毗连到FTP处事器时,你的客户机在TCP端口21上与FTP处事器对话,这个TCP毗连称为节制毗连。FTP处事器此刻需要另一条与客户机毗连,该毗连称为数据毗连,在这条毗连大将传送实际的文件数据,客户机将开始监听另一个TCP端口上从处事器发挥的数据毗连,接下来执行一个PORT呼吁随处事器,汇报它成立一条数据毗连到客户机的IP地点和一个新打开的端口,这种操纵要领称为主动传输。很多客户机利用网络地点转换或通过防火墙与外界毗连,所以主动传输FTP就不能正常事情,因为由处事器成立的客户机的毗连凡是不答允通过。
被动传输是大大都FTP客户机和处事器所利用的要领,因为客户机既成立节制毗连又成立数据毗连,这样可以通过防火墙或NAT了。
FTP的PORT呼吁,用来汇报FTP毗连的处事器,使得与方才打开的用于数据毗连的端口之间成立一个毗连。由于我们不只指定端口并且指定毗连所用的IP地点,所以客户端也可以通过PORT呼吁让处事器毗连到任那里所。所以我们一样可以让nmap用这个要领举办防火墙穿透。nmap做的所有事情是与一台处事器成立一个主动模式的FTP毗连,并发送一个包括它试图扫描的主机IP地点和端标语的PORT呼吁。
nmap -b [email protected].target.com -p 6000 192.168.1.226
nmap 与ftp处事器的对话的例子:
server:220 target ftp server version 4 ready
client:user anonymous
server: 331 Guest login ok ,send e-mail as password
client:pass
server :230 login successful
client:PORT 192,168,1.226,23,112
server:200 PORT command successful
client:LIST
server:150 Opening ASCII connection for '/bin/ls'
server:226 Transfer complete