当前位置:   article > 正文

【Linux netstat和ps详细使用】-anp | grep 进程 端口 PID,- tul。lsof,ps aux。ps -p 使用_netstat -anp |grep 端口号

netstat -anp |grep 端口号

查看端口占用

netstat 参数说明

-a,显示所有连接和侦听端口。( all) 显示所有选项,netsat本默认不显示LISTEN相关


-n,不用别名显示,只用数字显示。显示网络连接的相关端口号。拒绝显示别名,能显示数字的全部转化成数字。(重要)

-p,显示进程号和进程名。显示与特定协议相关的状态,常见的协议有TCP和 UDP。

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

-l 仅列出有在Listen(监听)的服务状态
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

img

基本使用

https://blog.csdn.net/baicp3/article/details/104943891

-a

1.netstat -a 列出所有端口

netstat -a 是列出所有的端口情况,包括监听的没有监听的。端口还分为tcp端口和udp端口,如果要想区分tcp端口和udp端口,可以使用“netstat -at”来列出tcp端口,用“netstat -ap”来列出udp端口。使用命令“netstat -anp”查看哪些端口被打开。

  • 这里说错了,p是显示程序
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name

tcp        0      0 0.0.0.0:20401           0.0.0.0:*               LISTEN      900564/./GateWay
  • 1
  • 2
  • 3

2.查看一个端口是否被打开

使用命令“nc -lp 23”可以打开23端口,使用命令“netstat -an | grep 23”可以查看23端口是否被打开。

3.显示监听的端口

使用命令“netstat -l”可以显示已经监听的端口。

4.显示PID和进程名称“netstat -pt”

5.显示核心路由“netstat -rn”

6.查看指定程序的端口

在命令行中输入“netstat -apn | grep ssh”可以查看ssh的端口。

7.grep内容过多时,需要查看grep的内容的第一行。需要在命令后面增加 | more

less  /system.log | grep 'startBackRoute' | more
  • 1

netstat -anp

https://blog.csdn.net/qq_42055933/article/details/111353442

LISTEN

img

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:20500           0.0.0.0:*               LISTEN      643129/./GateWay
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      -

  • 1
  • 2
  • 3
  • 4

标记所在情况;
一个叫“redis-server”的进程,正在监听127.0.0.1:6379/ 0.0.0.0:2222端口等等,“LISTEN”表示监听 PID:代表该进程的id 38464

ESTABLISHED
establish
v.
建立,设立;证实,确定;发现,找出;使被接受,使得到承认;使(故事的角色)真实;(桥牌)(通过出大牌)使(某)花色所剩的牌都能赢

established
adj.
确立已久的,早已投入使用的;资深的,知名的;(植物)已生根的,长势良好的;<英>已被认可的,已被接受的(尤指英国国教)
v.
建立,设立;证实,确定;发现,找出(establish 的过去式和过去分词形式)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

img

标记情况: PID:均为38464 他们是一个服务
一个叫“redis-server”的进程,外部有个“40126”端口,连接了它的“6379”端口,“ESTABLISHED”表示已连接
一个叫“redis-server”的进程,外部有个“40114”端口,连接了它的“6379”端口,“ESTABLISHED”表示已连接

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:20500         127.0.0.1:42514         ESTABLISHED 643129/./GateWay
tcp        0      0 192.168.70.136:41722    192.168.70.136:8000     ESTABLISHED 900943/./BusinessPr

# 192.168.70.136 依然是自己的IP
  • 1
  • 2
  • 3
  • 4
  • 5

| grep 进程 端口 PID

查看java进程是否启动

netstat -anp | grep java
  • 1

查看端口 : 例如 9090 端口我们看下

netstat -anp | grep 9090
  • 1

根据PID查看端口占用

netstat -anp | grep pid
  • 1

- tul

  • l 仅仅列出 在监听的
netstat -tunlp | grep 端口号
  • 1

lsof

lsof -i :8080
  • 1
  • lsof(list open files)
-i<条件>:列出符合条件的进程(4、6、协议、:端口、 @ip );
  • 1

PS

  • Linux中的ps命令是ProcessStatus的缩写

  • “ps aux” 可以查看系统中所有的进程;

-e 显示所有进程。
-f 全格式。

a 显示终端上的所有进程,包括其他用户的进程。
u:显示进程的归属用户及内存的使用情况;
x 显示没有控制终端的进程。

p pidlist
    Select by process ID.  Identical to -p and --pid.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

根据PID查询详细信息

ps aux | grep 899705
ps -p PID -o comm=
  • 1
  • 2

实战

3. 查看Linux系统的版本号

查看CentOS版本号

cat /etc/centos-release
  • 1

查看Ubuntu版本号

 cat /etc/issue
Ubuntu 22.04.1 LTS \n \l #可知Ubuntu 的版本。以查看Linux版本信息

lsb_release -a #可以查看发行版本信息
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.1 LTS
Release:        22.04
Codename:       jammy
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
uname -v #可以查看版本号
#74-Ubuntu SMP Wed Feb 22 14:14:39 UTC 2023

uname -a #操作系统的发行版号和操作系统版本
Linux pdgj 5.15.0-67-generic #74-Ubuntu SMP Wed Feb 22 14:14:39 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
  • 1
  • 2
  • 3
  • 4
  • 5

4. 查看端口运行的程序

安装net-tools

sudo apt-get install net-tools
  • 1

netstat

 netstat -alntp | grep 8096 #-atnlp
 
tcp6       0      0 :::8096                 :::*                    LISTEN      1814217/java

-a,显示所有连接和侦听端口。( all) 显示所有选项,netsat本默认不显示LISTEN相关
-l 仅列出有在Listen(监听)的服务状态

-n,不用别名显示,只用数字显示。显示网络连接的相关端口号。拒绝显示别名,能显示数字的全部转化成数字。(重要)
-t (tcp)仅显示tcp相关选项
-p,显示进程号和进程名。显示与特定协议相关的状态,常见的协议有TCP和 UDP。

netstat -ap | grep 8096 #也能显示,但是出结果比较慢。
tcp6       0      0 [::]:8096               [::]:*                  LISTEN      1814217/java
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

ps aux ef

ps aux | grep 1814217
liuhl    1814217  0.0  0.5 22862060 367648 ?     Sl   May14   8:10 java -jar pudong-bus-0.0.1-SNAPSHOT.jar


 ps -ef | grep 1814217

liuhl    1814217       1  0 May14 ?        00:08:10 java -jar pudong-bus-0.0.1-SNAPSHOT.jar

-e 显示所有进程。
-f 全格式

a 显示终端上的所有进程,包括其他用户的进程。
u:显示进程的归属用户及内存的使用情况;
x 显示没有控制终端的进程。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/633402
推荐阅读
相关标签
  

闽ICP备14008679号