系统开启的服务

系统开启的服务

好了,现在假设您已经知道了 daemons 的启动档案放置的目录,也知道了服务与 port 的对应,那么要如何查询目前系统上面已经启动了的服务呢?不要再打混了!已经学过了 ps 与 top 应该要会应用才对耶!呵呵!没错,可以使用 ps 与 top 来找寻已经启动了的服务的程序与他的 PID 呢!不过,我们怎么知道该服务启动的 port 是哪一个?呵呵!好问题!可以直接使用 netstat 这个网络状态观察指令来检查我们的 port 呢!甚至他也可以帮我们找到该 port 的程序呢( PID )!好了,那么我们就来试看看这个指令的用法吧!
  • netstat
    • netstat -a  | more
      netstat -an | more
    • Proto:指的是封包或者是通讯协议啦! tcp , udp 是常见的呦!
    • Local Address:本地端的 IP 与 Port 号,如果 /etc/services 存在对应服务名称,就以服务名称显示;
    • Foreign Address :监听哪一个地区与 port ;
    • state:状态列就很多啦!基本的有:
      • LISTEN :亦即监听状态中的 port !
      • ESTABLISHED:已建立联机的联机情况
      • TIME_WAIT:该联机在目前已经是等待的状态了!随时有可能会断线呦!

  •  
    [root @test /root]# netstat [-r] [-i interface] 
    [root @test /root]# netstat [-antulp] 
    参数说明: 
    -r  :显示出 route 的意思; 
    -i  :显示出 interface 的内容,跟 ifconfig 类似啦! 
    -a  :显示出目前所有的网络联机状态! 
    -n  :预设情况中,显示出的 host 会以 host name 来显现,若为 n 则可以使 port 与 host 都以数字显示 
    -t  :仅显示 tcp 封包的联机行为 
    -u  :仅显示 udp 的封包联机状态 
    -l  :仅显示 LISTEN 的内容 
    -p  :同时显示此一联机的 PID 喔!(注意:只有 root 才能行使此功能!) 
    范例: 
    [root @test /root]# netstat -r <==嘿嘿!显示出目前的路由表! 
    Kernel IP routing table 
    Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface 
    140.116.141.253 *               255.255.255.255 UH       40 0          0 ppp0 
    192.168.1.0     *               255.255.255.0   U        40 0          0 eth0 
    192.168.0.0     *               255.255.255.0   U        40 0          0 eth0 
    127.0.0.0       *               255.0.0.0       U        40 0          0 lo 
    default         140.116.141.253 0.0.0.0         UG       40 0          0 ppp0 

    [root @test /root]# netstat -i eth0  <==看看底下显示出的内容,是否跟 ifconfig eth0 类似呀!? 
    Kernel Interface table 
    Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR   TX-OK TX-ERR TX-DRP TX-OVR Flg 
    eth0   1500   077199373      0      0      169616342      0      0      0 BMRU 
    lo    16436   0 1130485      0      0      0 1130485      0      0      0 LRU 

    [root @test /root]# netstat -an  <==显示所有的联机状态,并且以数字型态显示 
    [root @test /root]# netstat -tul<==显示 LISTEN 的及 tcp 与 udp 的联机状态,如下: 
    Active Internet connections (only servers) 
    Proto Recv-Q Send-Q Local Address           Foreign Address         State 
    tcp        0      0 *:mysql                 *:*                     LISTEN 
    tcp        0      0 *:netbios-ssn           *:*                     LISTEN 
    tcp        0      0 *:pop3                  *:*                     LISTEN 
    tcp        0      0 *:http                  *:*                     LISTEN 
    tcp        0      0 *:ftp                   *:*                     LISTEN 
    tcp        0      0 *:ssh                   *:*                     LISTEN 
    tcp        0      0 *:smtp                  *:*                     LISTEN 
    udp        0      0 *:netbios-ns            *:* 
    注意:上面的 LISTEN 表示该 port 是已经在 监听 网络服务啦!而左边的 tcp 指的是 tcp 封包! 

    [root @test /root]# netstat -anp | more<==这个指令很常下达!请记得呦!


    netstat 可是很了不起的指令,一定要学会的!尤其他可以让我们了解目前的你的主机的联机状态!与开启的 port 有哪些!所以一定得学会才行呀!如果你分别下达:
       
    一定会发现有点奇怪?怎么有的 port 会以服务名称(例如上面例子里的 pop3 ...)有的会以 port 号码来显示呢!?嘿嘿!那就是 /etc/services 以及 -n 这个参数的用途啦!你可以发现的是,如果 netstat -a 时,显示出来的 port 号码在 /etc/services 存在对应的服务名称的时候,那么预设他就会显示出该服务名称啦!但是若在 /etc/services 找不到档案的话,那么自然就还是以 port 号码来显示的!那么加上了 -n 参数后,不论如何,他都会以 port 及 IP 来显示啦!
     
    另外,那个 -p 也很有用呦!尤其是在一些莫名其妙的联机出现时,可以用 netstat –anp | more查到 PID ,然后再以我们之前谈到的 系统资源管理 部分,利用 kill 来杀掉该 PID 的程序! 此外,使用 netstat –tlp 也可以得到目前在 LISTEN 的 port 的服务名称,嘿嘿!那样就可以知道该 port 是那个程序来启动的!很便利ㄋㄟ?
       
    善用 netstat 可以查得相当多的网络信息!尤其在关闭本机的 port 时!假设我要将 ftp 关闭掉,那么要使用 ntsysv, chkconfig 以及看一下 /etc/rc.d/rc.local 里头的设定啰!请注意,这个时候仅是将『 开机预设启动关闭』而已,并没有实际关闭目前的服务,假设您发现 ftp 还在启动的项目,你要将他关闭,那么就必须: 
  1.  
    1. 使用 ntsysv 或 chkconfig 将 wu-ftpd 前面的符号关闭掉;
    2. 跳出之后,以 /etc/rc.d/init.d/xinet restart 或者是 service xinet restart 来重新启动 xinet 这个服务;
    3. 再以 netstat -a | more 看一下 ftp 是否还在 LISTEN 呢?

  2. 这样才能关闭呢!同理可证啰!要关闭 sshd 怎么关?!嘿嘿!自己测试看看啰!( 注意:事实上,在 Linux 系统中,要『开或关某个 port 』,就是需要『启动或关闭某个服务』啦!因此,你可以找出某个 port 对应的服务,程序对应的服务,进而启动或关闭他,那么那个经由该服务而启动的 port ,自然就会关掉了!)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值