英文原文链接:https://www.cyberciti.biz/faq/unix-linux-check-if-port-is-in-use-command/

Question 1: 怎样在linux或者类Unix系统上确定端口(port)是否在使用中?

Question 2: 怎么在linux服务器上验证某个端口(port)正在监听中?

  确定那个端口正在监听服务器的网络接口是很重要的。你需要花费精力打开端口检查是否被入侵(intrusion)。除了端口入侵外,即使出于解决问题的目的,检查某个端口是否被你服务器上的另一个app使用可能也是必要的。例如你在统一太服务器上安装完Appache和Nginx后,知道Appache和Naginx是否正在使用TCP端口80/443是很有必有的。接下来的快速指南将通过分别用netstat、nmap和lsof指令去检查端口是否正在被使用,然后查某个Appp是否正在使用这个端口。

step1、打开终端

step2、运行任一指令
    sudo lsof -i -P -n | grep LISTEN
    sudo netstat -tulpn | grep LISTEN
    sudo nmap -sTU -O IP-address-Here

<1> lsof

  1. [root@localhost ~]# lsof -i -P -n | grep LISTEN
  2. sshd root 3u IPv4 0t0 TCP *: (LISTEN)
  3. sshd root 4u IPv6 0t0 TCP *: (LISTEN)
  4. dnsmasq nobody 7u IPv4 0t0 TCP 192.168.122.1: (LISTEN)
  5. dnsmasq nobody 12u IPv6 0t0 TCP [fe80:::ff:fef2:4af0]: (LISTEN)
  6. dnsmasq nobody 7u IPv4 0t0 TCP 192.168.123.1: (LISTEN)
  7. cupsd root 10u IPv6 0t0 TCP [::]: (LISTEN)
  8. cupsd root 11u IPv4 0t0 TCP 127.0.0.1: (LISTEN)
  9. smbd root 31u IPv6 0t0 TCP *: (LISTEN)
  10. smbd root 32u IPv6 0t0 TCP *: (LISTEN)
  11. smbd root 33u IPv4 0t0 TCP *: (LISTEN)
  12. smbd root 34u IPv4 0t0 TCP *: (LISTEN)

说明:

  • dnsmasq 应用程序名字.
  • 192.168.123.1  dnsmasq 监听端口绑定的IP地址
  • 53  监听的端口号
  • 718  dnsmasq进程号

<2> netstat

  1. [root@localhost ~]# netstat -tulpn | grep LISTEN
  2. tcp 0.0.0.0: 0.0.0.0:* LISTEN /smbd
  3. tcp 0.0.0.0: 0.0.0.0:* LISTEN /smbd
  4. tcp 192.168.123.1: 0.0.0.0:* LISTEN /dnsmasq
  5. tcp 192.168.122.1: 0.0.0.0:* LISTEN /dnsmasq
  6. tcp 0.0.0.0: 0.0.0.0:* LISTEN /sshd
  7. tcp 127.0.0.1: 0.0.0.0:* LISTEN /cupsd
  8. tcp6 ::: :::* LISTEN /smbd
  9. tcp6 ::: :::* LISTEN /smbd
  10. tcp6 fe80:::ff:fef2:: :::* LISTEN /dnsmasq
  11. tcp6 ::: :::* LISTEN /sshd
  12. tcp6 ::: :::* LISTEN /cupsd

<3> nmap 使用方法:

$ sudo nmap -sT -O localhost
$ sudo nmap -sU -O 192.168.2.13 ##[ list open UDP ports ]##
$ sudo nmap -sT -O 192.168.2.13 ##[ list open TCP ports ]##

  1. [root@localhost ~]# nmap -sT -O localhost
  2.  
  3. Starting Nmap 6.47 ( http://nmap.org ) at 2017-01-12 13:21 CST
  4. Nmap scan report for localhost (127.0.0.1)
  5. Host is up (.000048s latency).
  6. rDNS record for 127.0.0.1: localhost.localdomain
  7. Not shown: closed ports
  8. PORT STATE SERVICE
  9. /tcp open ssh
  10. /tcp open netbios-ssn
  11. /tcp open microsoft-ds
  12. /tcp open ipp
  13. Device type: general purpose
  14. Running: Linux .X
  15. OS CPE: cpe:/o:linux:linux_kernel:
  16. OS details: Linux 3.7 - 3.15
  17. Network Distance: hops
  18.  
  19. OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
  20. Nmap done: IP address ( host up) scanned in 1.53 seconds

You can combine TCP/UDP scan in a single command:

同时也可在一条指令中添加TCP/UDP扫描
    $ sudo nmap -sTU -O 192.168.2.13

windows 用户建议:
     netstat -bano | more
    netstat -bano | grep LISTENING
    netstat -bano | findstr /R /C:"[LISTEING]"

怎样在linux或者Unix上检查端口是否在使用的更多相关文章

  1. Linux或UNIX系统配置检查

    1. Linux或UNIX系统配置检查 系统配置的扫描是基于被动式策略进行扫描,主要检测主机上是否存在配置错误或者不符合预定义的安全策略的配置,通常需要管理员权限才能执行的扫描. 在Linux或UNI ...

  2. Linux或Windows上实现端口映射

    通常服务器会有许多块网卡,因此也可能会连接到不同的网络,在隔离的网络中,某些服务可能会需要进行通信,此时服务器经过配置就可以承担起了转发数据包的功能. 一.Windows下实现端口映射 1. 查询端口 ...

  3. Linux 或 Windows 上实现端口映射

    点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 通常服务器会有许多块网卡,因此也可能会连接到不同的网络, ...

  4. Linux查询版本、查询端口

    lsb_release -a 查看当前Linux系统版本 netstat 检查端口 netstat 是一个命令行工具,可以提供有关网络连接的信息.要列出正在侦听的所有 TCP 或 UDP 端口,包括使 ...

  5. Linux和UNIX监控

    Linux和UNIX上的数据库监控工具包括监控CPU.内存.磁盘.网络.安全性和用户的监控工具.下面罗列了我们找到的有用工具及其简单描述. ps           显示系统上运行的进程列表 top ...

  6. 在 CentOS 7.3 上安装 nginx 服务为例,说明在 Linux 实例中如何检查 TCP 80 端口是否正常工作

    CentOS 7.3 这部分以在 CentOS 7.3 上安装 nginx 服务为例,说明在 Linux 实例中如何检查 TCP 80 端口是否正常工作. 登录 ECS 管理控制台,确认实例所在安全组 ...

  7. (转)推荐一个在Linux/Unix上架设ASP.NET的 WEB服务器--Jexus

    在Linux/Unix上架设ASP.NET WEB服务器,有两个可选方式,一种是Mono+XSP,一种是Mono+Jexus,其它的方式,比如 Apache+mod_mono.Nginx+FastCg ...

  8. Linux/UNIX 上安装 MySQL

    Linux/UNIX 上安装 MySQL Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址: MySQL - MySQL服务器.你需要该选项,除非你只想连 ...

  9. 对Linux(Unix)的基础知识归纳

    前言,不论是原生APP(Android&IOS),还是大型架构级基础环境(.NET&J2EE,或LAMP阵营等), 基本都不可避免的涉及到Linux(Unix),故还是觉得有必要把自己 ...

随机推荐

  1. VMware vCloud与Zend Server实现PHP应用程序自动化交付

    在巴塞罗那2013年VMworld大会上,开发商VMware公司和zend公司在云管理市场上大放异彩.两家公司的产品VMware vCloud和Zend Server组合,实现了PHP程序自动化交付. ...

  2. 手机发送短信JS验证

    function tj() { var phone = jQuery('#phone').val(); var code = jQuery('#verificationcode').val(); va ...

  3. .NET MVC4 实训记录之四(Unit of work + Repository)

    今日后开启进阶模式! 谈到MVC与EntityFramework,则不得不说一说事务与仓储(Unit of work + Repository). 仓储(Repository):领域对象集合.用于操作 ...

  4. ASP.NET MVC之单元测试

    ASP.NET MVC之单元测试分分钟的事2014-07-15 13:05 by 书洞里的猫, 550 阅读, 4 评论, 收藏, 编辑 一.为什么要进行单元测试? 大部分开发者都有个习惯(包括本人在 ...

  5. 数据访问层的改进以及测试DOM的发布

    数据访问层的改进以及测试DOM的发布 在上一篇我们在宏观概要上对DAL层进行了封装与抽象.我们的目的主要有两个:第一,解除BLL层对DAL层的依赖,这一点我们通过定义接口做到了:第二,使我们的DAL层 ...

  6. SpringMVC实现注解式权限验证

    SpringMVC学习系列(9) 之 实现注解式权限验证 对大部分系统来说都需要权限管理来决定不同用户可以看到哪些内容,那么如何在Spring MVC中实现权限验证呢?当然我们可以继续使用servle ...

  7. SAX解析XML文件实例代码

    import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; ...

  8. IP地址爬取

    ip_spider.py= = = #!/usr/bin/python # coding: utf-8 import os import sys import requests import re i ...

  9. fastcgi重启

    重启nginx和php-cgi 的命令 nginx: sudo /etc/init.d/nginx restart 同样也可以有start,stop等参数php-cgi: 先杀死进程sudo kill ...

  10. vim复制

    关于vim复制剪贴粘贴命令的总结   最近在使用vim,感觉很好很强大,但是在使用复制剪切粘贴命令是,碰到了一些小困惑,网上找了一些资料感觉很不全,讲的也不好,遂自己进行实践并总结了. 首先是剪切(删 ...