首先需要了解的是服务和端口对应的文档时/etc/service。而常用料观察端口的命令则是以下两个:

  netstat:观察本机的port

  nmap:可以侦测非本机上的其他主机所开启的端口。

一、netstat

 

  [root@redflag ~]# netstat -[rn]       <==与路由有关的参数

  [root@redflag ~]# netstat -[antulpc]  <==与网络配置有关的参数

  参数:

  与路由有关的参数:

  -r  :列出路由表,功能如同route

  -n  :不使用主机名称与服务名称,使用IP与端口号(建议使用,可避过主机名称与服务名称的反查,直接以IP及端口号来显示,显示速度较快。)

  与网络配置有关的参数:

  -a  :列出所有的连接状态,包括tcp/udp/unix socket等;

  -t  :仅列出TCP数据包连接;

  -u  :仅列出UDP数据包连接;

  -l  :仅列出有在监听的服务的;

  -p  :列出PID与程序名;

  -c  :可以设定几秒钟后自动更新一次;

[root@redflag ~]# netstat -tun

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address        Foreign Address      State

tcp        0      0 192.168.10.100:25    192.168.10.5:3151    TIME_WAIT

tcp        0      0 192.168.10.100:22    192.168.10.150:1832  ESTABLISHED

  输出说明:

  Netstat的输出分两部分,分别是TCP/IP部分以及Unix socket部分。输出部分,主要是分为下面几点:

      Proto:该连接的数据包协议,主要是TCP/UDP

      Recv-Q:非由使用者程序连接所复制而来的总字节数

      Send-Q:指主动连接SYN或其他标志的数据包所占的字节数

      Local Address:本地主机的IP和端口号。

      Foreign Address:远程主机的IP和端口号。

      stat:状态列,主要包括:

      ESTABLISED:已建立连接;

      SYN_SENT:发出主动连接(SYN标志)的数据包;

      SYN_RECV:接收到一个要求连接的主动连接数据包;

      FIN_WAIT1:该插槽服务(socket)已中断,该连接正在断线当中;

      FIN_WAIT2:该连线已经挂断,但正在等待对方主机回应断线确认数据包;

      TIME_WAIT:该连线已经挂断,但socket还在网络上等待結束;

      LISTEN:通常用在服务的监听port

二、nmap

   nmap是系统管理员用来管理系统安全性核查的工具。它不仅可以查看本机的有关信息,更能查看远端主机的信息。

   [root@redflag ~]# nmap [扫描类型] [扫描参数] [hosts地址与范围]

参数:

  [扫描类型]

  -sT:扫描TCP数据包已建立的连接

  -sS:扫描TCP数据包带有SYN标志的资料

  -sP:以ping的方式进行扫描

  -sU:以UDP的数据包格式进行扫描

  -sO:以IP的协议(protocol)进行主机的扫描

  [扫描参数]

  -PT:用TCP里头的ping方式进行扫描,可获知目前有几部电脑存活(较常用)

  -PI:使用实际的ping(带有ICMP)来进行扫描

  -p :端口范围,如:1024-,80-1023,30000-60000等的使用方式

  [hosts地址与范围]

  192.168.0.100:仅检查该主机

  192.168.0.0/24:扫描c class网段的主机

  192.168.0.0-50,60-100,103,200 :扫描指定的网段和主机

 范例一:同时分析TCP/UDP这两个协议(默认nmap仅会扫描TCP协议)

[root@redflag ~]# nmap -sTU localhost

PORT      STATE         SERVICE

22/tcp    open          ssh

25/tcp    open          smtp

80/tcp    open          http

137/udp   open|filtered netbios-ns

138/udp   open|filtered netbios-dgm

139/tcp   open          netbios-ssn

范例二:了解目前有几部主机正在工作

[root@linux ~]# nmap -sP 192.168.10.0/24

Host 192.168.10.171 appears to be up.

MAC Address: 00:01:E6:B3:AA:CC (Hewlett-Packard Company)

Host 192.168.10.174 appears to be up.

MAC Address: 00:04:75:FF:CC:DD (3 Com)

Host 192.168.10.175 appears to be up.

MAC Address: 00:0C:6E:BA:11:22 (Asustek Computer)

目前你的环境中有三部主机存活,并且IP所对应的MAC也会记录下来