检测 Linux 打开的服务通道(port)
最近更新日期:2002/01/28
前言:
常常看到有些人想要知道自己的
Linux 主机到底开放了多少的
port 呢?要如何来检测?通常我们知道的
port 有下面这几个:
ftp:21
telnet:23
smtp:25
http:80
pop-3:110
netbios-ssn:139
squid:3128
mysql:3306
当然还不只这些哩,如何知道 port 被打开与否呢?
检测你打开的服务有哪些?使用功能强大的
netstat 指令
在做为主机的
Linux
系统中,服务项目是越少越好!这样可以避免不必要的入侵管道喔!因此,这个时候请理解一下您的系统当中,有没有哪些服务被打开了呢?要理解自己的系统当中的服务项目,最简便的方法就是使用
netstat 了!这个东西不但简单(每一部
Linux 机器当中缺省都会安装的套件喔!),而且功能也是很不错的,例如我们在检测联机
WWW 用户的人数时,就很需要这个咚咚罗!好了,我们来看一下
netstat 的使用方法:
[vbird
@tsai vbird]# netstat
|
如上所示,单纯使用
netstat 的时候,仅『列出当前已经接通的服务项目与服务名称』所以你可以看到,由于当前仅有一个
ssh 的挂机创建成功,所以就只有显示出一个
ESTABLISHED
(挂机中的意思)的项目。上面浅黄色的那一行,表示『有一个
ssh 的服务打开通道挂机中,是由远程的
192.168.1.11 这个
IP 连接到
192.168.1.2 的主机上面的这个
IP ,而挂机的通道是以
1391 这个通道连接进入
ssh 的服务中的!』。那如果我需要将所有的项目都列出来呢?
[vbird
@tsai vbird]# netstat -a
|
如上所示,加入 -a 就是说将所有在机器上『监听(LISTEM)』或者是『创建挂机』的服务通通列出的意思,不过,服务的名称已经使用 /etc/services 里面的名称了,而不是使用 port 的数字!如上所示,当前我主机上面的服务共打开了
pop3
imap
ftp
ssh
smtp
等服务(就是
LISTEN 的那几个咚咚罗!)至于已经创建的服务就只有
ssh 这一个罗!那如果我想要知道
port 呢?呵呵,就使用底下的指令吧!
[vbird
@tsai vbird]# netstat -an
|
如上所示,我接通的服务通道只有 22 这一个,而其他的你可以参照上面的指令输出结果来对照,所以你就可以知道罗:pop3 为 110 而 imap 为 143 呵呵!就是这样罗!因此,通过此一指令,就可以轻易的理解当前主机的运作状况与服务状态罗!当然罗, netstat 的用途不止于此,您可以使用 man netstat 来查阅一番喔!相信对你的主机会有更大的理解呦!
检测你打开的通信网关(port):使用 nmap 套件
安装:就是使用
rpm 安装呀!直接下达:rpm
-ivh nmap-2.54BETA25-1.i386.rpm
即可。
检测:下达 nmap your.host.IP ,例如我的主机 IP 为 192.168.1.2 则 nmap 192.168.1.2。
结果有点象这样:
Starting
nmap V. 2.54BETA25 ( www.insecure.org/nmap/ )
Interesting
ports on tsai.adsldns.org (192.168.1.2):
(The
1534 ports scanned but not shown below are in state: closed)
Port
State Service
21/tcp
open ftp
23/tcp
open telnet
25/tcp
open smtp
80/tcp
open http
109/tcp
open pop-2
110/tcp
open pop-3
139/tcp
open netbios-ssn
143/tcp
open imap2
3128/tcp
open squid-http
3306/tcp
open mysql
上面就是我们有打开的服务
port 啦,WWW为
80 port 而
telnet 使用
23 port ,邮件的传送则使用
25 与
110 port !
限制:这个软件请千万不要去检测他人的站点,否则可能会被提交告诉喔!
解除安装:如果确定运行完毕了,理解你所打开的服务之后,你可以直接将这套软件移除之,以免不小心运行后,导致别人的抗议:rpm -e nmap 即可。
Designed by VBird
during 2001-2004. Aerosol Lab.