• centos使用--排查服务是否可用


    端口与服务的关系

    一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的服务的。

    服务是否可用

    举个列子比如mysql服务,需要考虑两方面,首先是服务是否启用,如果启用mysql我们一般会使用3306端口,其次是考虑,此端口是不是对外开放。

    1. 检测服务是否启用,端口是不是被监听

    查看的方法:

    • 1.1使用lsof命令 lsof -i:3306
    # root @ VM_33_19_centos in /etc [9:02:31] 
    $ lsof -i:3306
    COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    mysqld  2791 mysql   14u  IPv4  18188      0t0  TCP *:mysql (LISTEN)
    
    • 1.2 使用netstat命令 netstat -tunlp 或者 netstat -antup
    # root @ VM_33_19_centos in /etc [9:07:46] 
    $ netstat -antup
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      2791/mysqld         
    tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      13550/sshd          
    tcp        0    132 10.105.33.19:22         106.120.206.201:57791   ESTABLISHED 5784/sshd: root@pts 
    tcp        0      0 10.105.33.19:46618      10.142.58.45:5574       ESTABLISHED 794/YDService       
    tcp6       0      0 :::111                  :::*                    LISTEN      18349/rpcbind       
    tcp6       0      0 :::21                   :::*                    LISTEN      3105/vsftpd         
    tcp6       0      0 :::22                   :::*                    LISTEN      13550/sshd          
    udp        0      0 0.0.0.0:111             0.0.0.0:*                           18349/rpcbind       
    udp        0      0 0.0.0.0:716             0.0.0.0:*                           18349/rpcbind       
    udp6       0      0 :::111                  :::*                                18349/rpcbind       
    udp6       0      0 :::716                  :::*                                18349/rpcbind   
    
    • 1.3使用工具nmap

    安装 yum install nmap -y
    使用 nmap 127.0.0.1
    nmap 127.0.0.1 查看本机开放的端口,会扫描所有端口。 当然也可以扫描其它服务器端口。

    # root @ VM_33_19_centos in /etc [9:11:17] 
    $ nmap 127.0.0.1    
    
    Starting Nmap 6.40 ( http://nmap.org ) at 2017-10-27 09:12 CST
    Nmap scan report for localhost (127.0.0.1)
    Host is up (0.0000030s latency).
    Not shown: 996 closed ports
    PORT     STATE SERVICE
    21/tcp   open  ftp
    22/tcp   open  ssh
    111/tcp  open  rpcbind
    3306/tcp open  mysql
    

    2. 查看端口是不是对外开放

    • 服务器端口即使处于监听状态,但是防火墙iptables屏蔽了该端口,我们也不能对外提供服务

    可以使用telnet检测端口是否开放 telnet xxx.xx.xx.xx 3306

    • 检测一个IP的某个端口是否开放,那么你会用什么命令来测试呢?是ping还是telnet?

    其实正确的方法应该是telnet命令。因为用ping命令的话不管你ping哪个端口,只要这个IP地址可以ping通,都会有数据返回。

  • 相关阅读:
    Node.js学习笔记(五) --- 使用Node.js搭建Web服务器
    express常用中间件
    MongoDb 学习笔记(一) --- MongoDb 数据库介绍、安装、使用
    如何优化网站加载时间
    Node.js学习笔记(四) --- fs模块的使用
    dns-prefetch使用整理
    puppeteer 中国区的使用
    mysql 定时任务和存储过程
    疯狂使用 leancloud (投稿文章)
    elasticsearch
  • 原文地址:https://www.cnblogs.com/redirect/p/7797305.html
一二三 - 开发者的网上家园