RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
linux端口监听命令 linux端口监听

Linux中如何检查开放端口

场景一:了解系统开放的端口,和正在使用的端口,在各种情况下都会有所帮助。

在吕梁等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、网站设计 网站设计制作定制设计,公司网站建设,企业网站建设,品牌网站设计,成都全网营销,成都外贸网站建设公司,吕梁网站建设费用合理。

比如:如果你的服务器正在运行着 Nginx,那么其端口应该为80或者443,可以检查一下。再比如你可以检查一下 SMTP、SSH或者其他服务用的是哪个端口。当有新的服务需要开放端口的时候,你需要知道目前已经被占用的,都有哪些端口。

此外,可以检查一下是否有开放的可用于入侵检测的端口。

Linux 中有多种检查端口的方法,本文将介绍两种。

使用 lsof 检查当前系统开放的端口

不管你是直接登录的系统,还是使用 ssh 连接的,都可以使用 lsof 命令来检查端口:

该命令用于查找用户使用的文件和进程。上述命令中的选项,包括:

但是,这也会展示许多计算机并没有监听的其他端口。

我们可以通过管道将此输出传输到 grep,并匹配模式 “LISTEN”,如下所示:

这样就只显示计算机正在监听的,以及正在运行的服务器所占用的端口。

使用 netcat 命令检查远程服务器上的端口

nc(Netcat) 是一个命令行实用程序,使用TCP和UDP协议在网络计算机之间读取和写入数据。

以下是nc命令的语法:

这个工具有一个很实用的 -z 选项,它会让 nc 命令扫描正在监听的守护进程,但是不会向端口发送任何数据。

将其与 -v 选项结合,启动详细信息,会有详细信息的输出。

losf与nc的不同点:

lsof命令简介

lsof 命令用于显示 Linux 系统当前已打开的所有文件列表。查看进程或系统打开的文件会给调试带来极大的帮助。下面简单地介绍 lsof 常使用的功能。

lsof (list open files)命令用于查看你进程打开的文件,打开文件的进程,进程打开的端口(TCP、UDP),还可以用于找回/恢复被删除的文件。lsof 命令需要访问核心内存和各种文件,所以需要具备 root 超级管理员权限的用户才能执行此命令。

linux的nc命令,NetCat,在网络工具中有“瑞士军刀”美誉“,是解决这个问题的工具。 nc命令安装: yum install nc

以上是看来一些文章的总结分享内容,欢迎补充讨论。

Linux下 netstat ps kill 命令详解及常用命令收集

前言,phper 脱离 fpm 学习 swoole GO 时 经常会用一些进程管理命令 这里熟悉下

netstat 命令

Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

常见参数

-a (all) 显示所有选项,默认不显示 LISTEN 相关

-t (tcp) 仅显示 tcp 相关选项

-u (udp) 仅显示 udp 相关选项

-n 拒绝显示别名,能显示数字的全部转化成数字。

-l 仅列出有在 Listen (监听) 的服务状态

-p 显示建立相关链接的程序名

-r 显示路由信息,路由表

-e 显示扩展信息,例如 uid 等

-s 按各个协议进行统计

-c 每隔一个固定时间,执行该 netstat 命令。

提示:LISTEN 和 LISTENING 的状态只有用 - a 或者 - l 才能看到

常见命令

列出所有端口 (包括监听和未监听的)

netstat -a #列出所有端口

netstat -at #列出所有的tcp 端口

netstat -au #列出所有的udp 端口

列出所有处于监听状态的 Sockets

netstat -l #只显示在监听的端口

netstat -lt #只显示所有的在监听的tcp 端口

netstat -lu #只显示所有的在监听的udp 端口

netstat -lx #只显示所有的在监听的unix 端口

在 netstat 输出中显示 PID 和进程名称 netstat -p

netstat -pt #显示所有tcp端口的PID 和进程名称

查找 (经常使用)

netstat -ap | grep xxx #查找程序名为xxx的运行端口

netstat -an | grep ':80' #找出运行在指定端口的进程

PS 命令

PS 是 LINUX 下最常用的也是非常强大的进程查看命令

常用命令

ps -ef | grep 进程关键字 #查找某一进程

参数解释

UID :程序被该 UID 所拥有

PID :就是这个程序的 ID

PPID :则是其上级父程序的ID

C :CPU使用的资源百分比

STIME :系统启动时间

TTY :登入者的终端机位置

TIME :使用掉的CPU时间

CMD :所下达的是什么指令

ps -ax | less # 按向下键查看进程 q 键退出

pstree 树形显示所有进程 pstree -p 9005 树形显示某个端口进程

ps -eo pid,user,args 参数 -e 显示所有进程信息,-o 参数控制输出。Pid,User 和 Args 参数显示 PID,运行应用的用户和该应用。可以查看现在有谁登入了你的服务器

kill 命令

kill -9 PID 可以彻底杀死进程

kill -9 $(ps -ef | grep xxx) 杀死 查找到的所有进程 有点危险!

常用参数

HUP 1 终端断线

INT 2 中断(同 Ctrl + C)

QUIT 3 退出(同 Ctrl + )

TERM 15 终止

KILL 9 强制终止

CONT 18 继续(与STOP相反, fg/bg命令)

STOP 19 暂停(同 Ctrl + Z)

Linux下如何查看哪些端口处于监听状态

查看某一端口的占用情况: lsof -i:端口号

前提:首先你必须知道,端口不是独立存在的,它是依附于进程的。某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了。下次若某个进程再次开启,则相应的端口也再次开启。而不要纯粹的理解为关闭掉某个端口,不过可以禁用某个端口。

1. 可以通过"netstat -anp" 来查看哪些端口被打开。

(注:加参数'-n'会将应用程序转为端口显示,即数字格式的地址,如:nfs-2049, ftp-21,因此可以开启两个终端,一一对应一下程序所对应的端口号)

2. 然后可以通过"lsof -i:$PORT"查看应用该端口的程序($PORT指对应的端口号)。或者你也可以查看文件/etc/services,从里面可以找出端口所对应的服务。

(注:有些端口通过netstat查不出来,更可靠的方法是"sudo nmap -sT -O localhost")

3. 若要关闭某个端口,则可以:

1)通过iptables工具将该端口禁掉,如:

"sudo iptables -A INPUT -p tcp --dport $PORT -j DROP"

"sudo iptables -A OUTPUT -p tcp --dport $PORT -j DROP"

2)或者关掉对应的应用程序,则端口就自然关闭了,如:

"kill -9 PID" (PID:进程号)

如: 通过"netstat -anp | grep ssh"

有显示: tcp 0 127.0.0.1:2121 0.0.0.0:* LISTEN 7546/ssh

则: "kill -9 7546"

很基础的linux知识,跟着《linux就该这么学》系统学习下!

Linux netstat命令详解

Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

执行netstat后,其输出结果为

从整体上看,netstat的输出结果可以分为两个部分:

一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。

另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。

Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。

-a (all)显示所有选项,默认不显示LISTEN相关

-t (tcp)仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 拒绝显示别名,能显示数字的全部转化成数字。

-l 仅列出有在 Listen (监听) 的服务状态

-p 显示建立相关链接的程序名

-r 显示路由信息,路由表

-e 显示扩展信息,例如uid等

-s 按各个协议进行统计

-c 每隔一个固定时间,执行该netstat命令。

提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

列出所有端口 netstat -a

列出所有 tcp 端口 netstat -at

列出所有 udp 端口 netstat -au

只显示监听端口 netstat -l

只列出所有监听 tcp 端口 netstat -lt

只列出所有监听 udp 端口 netstat -lu

只列出所有监听 UNIX 端口 netstat -lx

显示所有端口的统计信息 netstat -s

显示 TCP 或 UDP 端口的统计信息 netstat -st 或 -su

netstat -p 可以与其它开关一起使用,就可以添加 “PID/进程名称” 到 netstat 输出中,这样 debugging 的时候可以很方便的发现特定端口运行的程序。

当你不想让主机,端口和用户名显示,使用 netstat -n。将会使用数字代替那些名称。

同样可以加速输出,因为不用进行比对查询。

如果只是不想让这三个名称中的一个被显示,使用以下命令

netstat 将每隔一秒输出网络信息。

在输出的末尾,会有如下的信息

注意: 使用 netstat -rn 显示数字格式,不查询主机名称。

并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。

找出运行在指定端口的进程

显示详细信息,像是 ifconfig 使用 netstat -ie:

查看连接某服务端口最多的的IP地址

TCP各种状态列表


分享名称:linux端口监听命令 linux端口监听
网页网址:http://scpingwu.com/article/hhjscg.html