英文原文链接: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

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

说明:

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

<2> netstat

[root@localhost ~]# netstat -tulpn | grep LISTEN
tcp 0.0.0.0: 0.0.0.0:* LISTEN /smbd
tcp 0.0.0.0: 0.0.0.0:* LISTEN /smbd
tcp 192.168.123.1: 0.0.0.0:* LISTEN /dnsmasq
tcp 192.168.122.1: 0.0.0.0:* LISTEN /dnsmasq
tcp 0.0.0.0: 0.0.0.0:* LISTEN /sshd
tcp 127.0.0.1: 0.0.0.0:* LISTEN /cupsd
tcp6 ::: :::* LISTEN /smbd
tcp6 ::: :::* LISTEN /smbd
tcp6 fe80:::ff:fef2:: :::* LISTEN /dnsmasq
tcp6 ::: :::* LISTEN /sshd
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 ]##

[root@localhost ~]# nmap -sT -O localhost

Starting Nmap 6.47 ( http://nmap.org ) at 2017-01-12 13:21 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (.000048s latency).
rDNS record for 127.0.0.1: localhost.localdomain
Not shown: closed ports
PORT STATE SERVICE
/tcp open ssh
/tcp open netbios-ssn
/tcp open microsoft-ds
/tcp open ipp
Device type: general purpose
Running: Linux .X
OS CPE: cpe:/o:linux:linux_kernel:
OS details: Linux 3.7 - 3.15
Network Distance: hops OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
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. html5 Canvas画图3:1px线条模糊问题

    点击查看原文地址: html5 Canvas画图3:1px线条模糊问题 本文属于<html5 Canvas画图系列教程> 接上一篇canvas画线条教程 上次我们讲到,canvas有时候会 ...

  2. 【转】仿QQ5.0侧滑菜单ResideMenu

    本文由孙国威 原创.如需转载,请注明出处! 原文:http://blog.csdn.net/manoel/article/details/39013095 为了后续对这个项目进行优化,比如透明度动画. ...

  3. ASP.NET MVC + 百度富文本编辑器 + EasyUi + EntityFrameWork 制作一个添加新闻功能

    本文将交大伙怎么集成ASP.NET MVC + 百度富文本编辑器 + EasyUi + EntityFrameWork来制作一个新闻系统 先上截图: 添加页面如下: 下面来看代码部分 列表页如下: @ ...

  4. ant svn

    <!-- 检出代码 这里使用 export 不是checkout 二者区别 checkout会svn相关信息文件检出,export只是检出最新的文件--> <target name= ...

  5. TeamCity vs Jenkins: Which is the Better Continuous Integration (CI) Server for .NET Software Development?

    原文:http://www.excella.com/insights/teamcity-vs-jenkins-better-continuous-integration-server So, you’ ...

  6. treeview和listview的用法

    今天无聊中弄了个小东西,熟悉一下对listview和treeview的用法.代码如下:  public partial class Form1 : Form     {         private ...

  7. GTK+编程概述

    目标 什么是GTK? 怎样做一个GTK应用程序 事件(Events).信号(Signals).回调函数(Callbacks) 组件(widgets) 引言 GIMP工具包(GTK+)最初被设计为一个光 ...

  8. poj2488骑士之旅

    题目大意:国际象棋里面的马,有那么8种跳法,然后题目给出一个棋盘的大小p*q, 求有没有路线可以使得这个马能把整个棋盘的格全部走一遍,有的话按照字典序将第一条路线打印出来. 注意:国际象棋是行是数字, ...

  9. 求字符串长度 strlen(数组指针两种方式)

    问题: 求字符串中所含有字符的个数(包括空格),即求字符串长度: #include <stdio.h> #include <assert.h> int _strlen(cons ...

  10. mvc+linq+EF对数据表的查删改

    /// <summary> /// 查询数据库中学生姓名 /// </summary> /// <returns></returns> public A ...