端口与服务的关系

一台拥有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通,都会有数据返回。

centos使用--排查服务是否可用的更多相关文章

  1. centos telnet --xinetd 服务

    telnet由于是明文传输,所以安全起见最好不要用telnet服务.但是由于telnet是一个比较方便的远程工具,在windows上是自带 的不需要安装客户端即可使用.如果telnet设置的比较复杂, ...

  2. Hive扩展功能(五)--HiveServer2服务高可用

    软件环境: linux系统: CentOS6.7 Hadoop版本: 2.6.5 zookeeper版本: 3.4.8 主机配置: 一共m1, m2, m3这五部机, 每部主机的用户名都为centos ...

  3. [转帖]centos 7 avahi-daemon服务的作用及如何关闭

    centos 7 avahi-daemon服务的作用及如何关闭 https://blog.csdn.net/tjjingpan/article/details/81237308 关闭 systemct ...

  4. Spring Redis开启事务支持错误用法导致服务不可用

      1.事故背景 在APP访问服务器接口时需要从redis中获取token进行校验,服务器上线后发现一开始可以正常访问,但只要短时间内请求量增长服务则无法响应 2.排查流程 (1)使用top指令查看C ...

  5. CentOS 7 Xinetd服务安装配置

    CentOS 7 Xinetd服务安装配置 目录 CentOS 7 Xinetd服务安装配置 一.Linux守护进程与初始化进程 1. 什么是守护进程 2. 什么是初始化 二.Linux独立启动进程和 ...

  6. 学习heartbeat-05 实现web服务高可用

    一.环境介绍 说明:所有案例在虚拟机(VMware)上完成 操作系统:centos 6.5 64bit 高可用软件:heartbeat 3.0.4 Web应用服务器:apache httpd 2.2. ...

  7. C#测试web服务是否可用

    winform客户端经常需要调用webservice或者WCF进行数据交互,但是远程服务有可能不存在或者服务器不可用,客户端只能通过超时或者捕获到异常感知服务不可用.其实有一个COM借口可用快速的检测 ...

  8. IIS 7 WAS服务不可用

    在 Windows Server 2008 上使用 %windir%\system32\inetsrv\appcmd.exe list wp 命令,得到如下错误: ERROR ( message:WA ...

  9. CentOS服务器配置发送邮件服务

    CentOS服务器配置发送邮件服务 lsb_release -a 查看linux系统版本 在CentOS6以上版本自带mailx版本12.4 rpm -qa | grep mailx 查看系统自带的m ...

随机推荐

  1. 1.jdk的安装

    1.下载jdk放到某(E)盘底下的(java)某文件夹里 2.配置环境变量 (1)配置JAVA_HOME,CLASSPATH,PATH三个变量 其中JAVA_HOME必须的 JAVA_HOME=E:\ ...

  2. phpstorm 2017.1 激活

    打开网址 http://idea.lanyus.com/ 选择获取注册码,复制生成的验证码 安装完成后,打开软件,依次选择菜单栏 Help -> Register-> Activation ...

  3. Seafile开源私有云自定义首页Logo图片

    Seafile是一个开源.专业.可靠的云存储平台:解决文件集中存储.共享和跨平台访问等问题,由北京海文互知网络有限公司开发,发布于2012年10月:除了一般网盘所提供的云存储以及共享功能外,Seafi ...

  4. windows服务器间文件同步搭建步骤搜集

    Rsync https://www.cnblogs.com/janas/p/3321087.html https://yq.aliyun.com/ziliao/110867 subersion协议 h ...

  5. leetcode 136、Single Number

    Given a non-empty array of integers, every element appears twice except for one. Find that single on ...

  6. MySQL锁小结

    锁的作用:避免并发请求时对同一个数据对象同时修改,导致数据不一致.   怎么加锁: 1.事务T1在对某个数据对象R1操作之前,先向系统发出请求,对其加锁L1. 2.之后,事务T1对该数据对象R1有了相 ...

  7. 空间最短路径,BFS(POJ3278)

    题目链接:http://poj.org/problem?id=3278 #include <cstdio> #include <queue> #include <stri ...

  8. log4net为什么会打印两次?

    用“log4net 使用”做关键字在bing上搜索,点开排序第一的链接:http://33liuhongwei33.blog.163.com/blog/static/39923778201156101 ...

  9. json 序列化和反序列化的3个方法

    https://www.cnblogs.com/caofangsheng/p/5687994.html

  10. Drupal 新建Modules

    最简单的模块包含了2个文件夹,它们放置于同一个文件夹下:包含模块信息的文件以.info为后缀名,而实现功能的文件则以.module结尾. 可以给模块一个友好的(human-readable)名字,但是 ...