​ Linux查看端口占用得情况可以使用lsof和netstat 命令

lsof

​ lsof(list open files) 是一个列出当前系统打开文件的工具。

lsf查看端口占用语法格式:

lsof -i:端口号

实例1

2

3

4# lsof -i:8080

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

java 23237 root 57u IPv6 56034 0t0 TCP *:webcache (LISTEN)

可以看出8080端口已经被 java 服务占用。

lsof -i 需要 root 用户的权限来执行,如下图:1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16# lsof -i

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

dhclient 859 root 6u IPv4 14539 0t0 UDP *:bootpc

sshd 1385 root 3u IPv4 16540 0t0 TCP *:ssh (LISTEN)

ntpd 2343 ntp 16u IPv4 18157 0t0 UDP VM-0-12-centos:ntp

ntpd 2343 ntp 17u IPv4 18158 0t0 UDP VM-0-12-centos:ntp

ntpd 2343 ntp 18u IPv6 18159 0t0 UDP VM-0-12-centos:ntp

ntpd 2343 ntp 19u IPv6 18162 0t0 UDP VM-0-12-centos:ntp

YDService 3548 root 18u IPv4 15028196 0t0 TCP VM-0-12-centos:39406->169.254.0.55:lsi-bobcat (ESTABLISHED)

sshd 17853 root 3u IPv4 15450643 0t0 TCP VM-0-12-centos:ssh->119.123.73.14:13428 (ESTABLISHED)

sshd 18401 root 3u IPv4 15454393 0t0 TCP VM-0-12-centos:ssh->49.234.88.101:38420 (ESTABLISHED)

sshd 18404 sshd 3u IPv4 15454393 0t0 TCP VM-0-12-centos:ssh->49.234.88.101:38420 (ESTABLISHED)

sshd 18413 root 3u IPv4 15454481 0t0 TCP VM-0-12-centos:ssh->167.71.127.147:42390 (ESTABLISHED)

sshd 18416 sshd 3u IPv4 15454481 0t0 TCP VM-0-12-centos:ssh->167.71.127.147:42390 (ESTABLISHED)

java 23237 root 57u IPv6 56034 0t0 TCP *:webcache (LISTEN)

java 23237 root 196u IPv6 56093 0t0 TCP VM-0-12-centos:mxi (LISTEN)

lsof输出各列信息的意义如下:1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101COMMAND:进程的名称

PID:进程标识符

PPID:父进程标识符(需要指定-R参数)

USER:进程所有者

PGID:进程所属组

FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等

(1)cwd:表示current work dirctory,即:应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改

(2)txt :该类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init 程序

(3)lnn:library references (AIX);

(4)er:FD information error (see NAME column);

(5)jld:jail directory (FreeBSD);

(6)ltx:shared library text (code and data);

(7)mxx :hex memory-mapped type number xx.

(8)m86:DOS Merge mapped file;

(9)mem:memory-mapped file;

(10)mmap:memory-mapped device;

(11)pd:parent directory;

(12)rtd:root directory;

(13)tr:kernel trace file (OpenBSD);

(14)v86 VP/ix mapped file;

(15)0:表示标准输出

(16)1:表示标准输入

(17)2:表示标准错误

一般在标准输出、标准错误、标准输入后还跟着文件状态模式:r、w、u等

(1)u:表示该文件被打开并处于读取/写入模式

(2)r:表示该文件被打开并处于只读模式

(3)w:表示该文件被打开并处于

(4)空格:表示该文件的状态模式为unknow,且没有锁定

(5)-:表示该文件的状态模式为unknow,且被锁定

同时在文件状态模式后面,还跟着相关的锁

(1)N:for a Solaris NFS lock of unknown type;

(2)r:for read lock on part of the file;

(3)R:for a read lock on the entire file;

(4)w:for a write lock on part of the file;(文件的部分写锁)

(5)W:for a write lock on the entire file;(整个文件的写锁)

(6)u:for a read and write lock of any length;

(7)U:for a lock of unknown type;

(8)x:for an SCO OpenServer Xenix lock on part of the file;

(9)X:for an SCO OpenServer Xenix lock on the entire file;

(10)space:if there is no lock.

TYPE:文件类型,如DIR、REG等,常见的文件类型

(1)DIR:表示目录

(2)CHR:表示字符类型

(3)BLK:块设备类型

(4)UNIX: UNIX 域套接字

(5)FIFO:先进先出 (FIFO) 队列

(6)IPv4:网际协议 (IP) 套接字

DEVICE:指定磁盘的名称

SIZE:文件的大小

NODE:索引节点(文件在磁盘上的标识)

NAME:打开文件的确切名称

更多 lsof 的命令如下1

2

3

4

5

6

7

8

9lsof -i:8080:查看8080端口占用

lsof abc.txt:显示开启文件abc.txt的进程

lsof -c abc:显示abc进程现在打开的文件

lsof -c -p 1234:列出进程号为1234的进程所打开的文件

lsof -g gid:显示归属gid的进程情况

lsof +d /usr/local/:显示目录下被进程开启的文件

lsof +D /usr/local/:同上,但是会搜索目录下的目录,时间较长

lsof -d 4:显示使用fd为4的进程

lsof -i -U:显示所有打开的端口和UNIX domain文件

netstat

​ netstat -tunlp 用于显示tcp,udp 的端口和进程相关情况。

netstat 查看端口占用语法格式:

netstat - tunlp | grep 端口号-t (tcp) 仅显示tcp相关选项

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

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

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

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

例如查看 8080 端口的情况,使用以下命令:1

2# netstat -tunlp | grep 8080

tcp6 0 0 :::8080 :::* LISTEN 23237/java

状态说明:1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21LISTEN:侦听来自远方的TCP端口的连接请求

SYN-SENT:再发送连接请求后等待匹配的连接请求(如果有大量这样的状态包,检查是否中招了)

SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认(如有大量此状态,估计被flood攻击了)

ESTABLISHED:代表一个打开的连接

FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认

FIN-WAIT-2:从远程TCP等待连接中断请求

CLOSE-WAIT:等待从本地用户发来的连接中断请求

CLOSING:等待远程TCP对连接中断的确认

LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认(不是什么好东西,此项出现,检查是否被攻击)

TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认

CLOSED:没有任何连接状态

更多命令:1

2netstat -ntlp //查看当前所有tcp端口

netstat -ntulp | grep 80 //查看所有80端口使用情况

kill

​ 在查到端口占用的进程后,如果要杀掉对应的进程,可以使用kill命令:1kill [-s ][程序] 或 kill [-l ]

参数说明:-l  若不加选项,则 -l 参数会列出全部的信息名称。

-s  指定要送出的信息。

[程序]  [程序]可以是程序的PID或是PGID,也可以是工作编号。

使用 kill -l 命令列出所有可用信号。

最常用的信号是:1 (HUP):重新加载进程。

9 (KILL):杀死一个进程。

15 (TERM):正常停止一个进程。

如上实例,我们看到 8000 端口对应的 PID 为 26993,使用以下命令杀死进程:

kill -9 23237

显示信号:1

2

3

4

5

6

7

8

9

10

11

12

13

14

15# kill -l

1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP

6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL10) SIGUSR1

11) SIGSEGV12) SIGUSR213) SIGPIPE14) SIGALRM15) SIGTERM

16) SIGSTKFLT17) SIGCHLD18) SIGCONT19) SIGSTOP20) SIGTSTP

21) SIGTTIN22) SIGTTOU23) SIGURG24) SIGXCPU25) SIGXFSZ

26) SIGVTALRM27) SIGPROF28) SIGWINCH29) SIGIO30) SIGPWR

31) SIGSYS34) SIGRTMIN35) SIGRTMIN+136) SIGRTMIN+237) SIGRTMIN+3

38) SIGRTMIN+439) SIGRTMIN+540) SIGRTMIN+641) SIGRTMIN+742) SIGRTMIN+8

43) SIGRTMIN+944) SIGRTMIN+1045) SIGRTMIN+1146) SIGRTMIN+1247) SIGRTMIN+13

48) SIGRTMIN+1449) SIGRTMIN+1550) SIGRTMAX-1451) SIGRTMAX-1352) SIGRTMAX-12

53) SIGRTMAX-1154) SIGRTMAX-1055) SIGRTMAX-956) SIGRTMAX-857) SIGRTMAX-7

58) SIGRTMAX-659) SIGRTMAX-560) SIGRTMAX-461) SIGRTMAX-362) SIGRTMAX-2

63) SIGRTMAX-164) SIGRTMAX

linux查看端口占用终结,Linux查看端口占用相关推荐

  1. linux哪些端口占用了,如何查看某个端口被谁占用(Linux如何查询哪些端口被占用)...

    如何确定端口号是不是在Linux或类unix系统软件下占有?怎么检查什么端口号已经Linux网络服务器上被占有?Linux系统软件怎么使用cmd查验端口号是不是早已在占有? Linux端口占用查看 查 ...

  2. linux查看端口被占用且释放,Linux查看端口占用情况,并强制释放占用的端口

    1.查找被占用的端口 netstat -tln netstat -tln | grep 8080 netstat -tln 查看端口使用情况,而netstat -tln | grep 8080则是只查 ...

  3. linux查看端口被占用情况,并结束占用该端口进程

    Linux 查看端口占用情况可以使用 lsof 和 netstat 命令 (如果发现这两个命令提示没有找不到的话,就需要安装相应的lsof 和 net-tools) 另外: ps -ef|grep 进 ...

  4. linux怎么看一个端口是否可用,LINUX中查看某个端口是否被占用的方法

    LINUX中查看某个端口是否被占用的方法 发布时间:2020-07-23 13:55:09 来源:亿速云 阅读:64 作者:小猪 这篇文章主要讲解了LINUX中查看某个端口是否被占用的方法,内容清晰明 ...

  5. Linux查询某个端口被谁占用,如何查看某个端口被谁占用(Linux如何查询哪些端口被占用)...

    如何确定端口号是不是在Linux或类unix系统软件下占有?怎么检查什么端口号已经Linux网络服务器上被占有?Linux系统软件怎么使用cmd查验端口号是不是早已在占有? Linux端口占用查看 查 ...

  6. linux修改java占用端口号_Linux端口被占用、查看

    一.知道端口号,直接查找进程ID,杀掉进程 1.知道端口号,查看是否被占用,比如说知道jboss用的是8080端口,那就直接使用命令: netstat -tln | grep 8080 netstat ...

  7. linux 查看端口占用总数_Linux查看某个端口的连接数

    一.查看哪些IP连接本机 netstat -an 二.查看TCP连接数 1)统计80端口连接数 netstat -nat | grep -i "80"| wc -l 2)统计htt ...

  8. linux查看进程运行日志文件,【Linux】常用指令、ps查看进程、kill杀进程、启动停止tomcat命令、查看日志、查看端口、find查找文件...

    1.说出 10 个 linux 常用的指令 1) ls 查看目录中的文件 2)cd /home 进入 '/ home' 目录:cd .. 返回上一级目录:cd ../.. 返回上两级目录 3)mkdi ...

  9. linux端口访问规则,linux 查看开发放端口号--iptables

    一.查看哪些端口被打开 netstat -anp 二.关闭端口号: # iptables -A INPUT -p tcp --drop 端口号 -j DROP //不带协议的 # iptables - ...

最新文章

  1. 注册HttpSessionListener失效原因
  2. 后疫情时代:2021年商业科学改变供应链的5种方法
  3. linux下递归修改目录/文件权限命令
  4. 【基础大全】一文带你打好网工路由基础......
  5. Input中实现对身份证的验证
  6. 记录:通过SSH远程连接Ubuntu
  7. 浅析几种常见算法(转载)
  8. Windows系统CUDA10.2+CUDNN安装教程
  9. Spring Boot –使用执行器端点在运行时配置日志级别
  10. 笔记《精通css》第2章 选择器,注释
  11. Codeforces Round #277 (Div. 2) A. Calculating Function 水题
  12. 朝鲜红星操作系统落后当今水准约10年
  13. 时序动作定位:Rethinking the Faster R-CNN Architecture for Temporal Action Localization(TAL-Net)
  14. WebMaster如何处理网站内容重复?
  15. cad卸载工具_装不上也卸不掉,我的CAD仿佛已没救!...(CAD/MAX完美安装工具)...
  16. C语言之简单英语词典实现
  17. 8、content-scripts实现一个简单的去除广告插件
  18. 【AI Studio】飞桨图像分类零基础训练营 - 03 - 卷积神经网络基础
  19. JavaScript比较运算大于小于等于
  20. Android使用NFC模拟IC卡

热门文章

  1. Spring Boot安装及使用(2021.10.28)
  2. C语言:数组与指针之 p++ 操作的细节问题(p是指针)
  3. django报错ERRORS:?: (admin.E402) ‘django.contrib.auth.context_processors.auth‘
  4. html从入门到精通胡菘,高职电商网页设计教学实践.docx
  5. 安卓手机主题软件_安卓手机数据恢复软件——FonePaw Android Data Recovery Mac
  6. 你的程序员女孩「GitHub 热点速览 v.22.09」
  7. 提问的力量三:提问式思维----你是学习者还是评判者?
  8. 货来,速抢 — 天选 2 首发评测
  9. 面对山寨走私潮,政府宜疏不易堵
  10. 不懂代码?没关系,照样可以做SaaS软件开发