linux 端口查询命令

任何知识都是用进废退,有段时间没摸linux,这大脑里的知识点仿佛全部消失了,就无语。 索性,再写一篇记录,加强一下记忆,下次需要就看自己的资料好了。

lsof命令

Linux端口查询命令可以通过lsof实现:

  1. lsof : List Open Files的缩写,可列出各种进程打开的文件信息,如下图所示:

直接使用lsof 命令得出的是当前所有的信息,会有很多,因此一般可以通过结合参数来获取更加精确的信息,命令的具体参数,我们可以通过 --help 命令来查询:

[root@localhost 桌面]# lsof --help
lsof: illegal option character: -
lsof: -e not followed by a file system path: "lp"
lsof 4.91
 latest revision: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/
 latest FAQ: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQ
 latest man page: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_man
 usage: [-?abhKlnNoOPRtUvVX] [+|-c c] [+|-d s] [+D D] [+|-E] [+|-e s] [+|-f[gG]]
 [-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+m [m]] [+|-M] [-o [o]] [-p s]
 [+|-r [t]] [-s [p:s]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [--] [names]
Defaults in parentheses; comma-separated set (s) items; dash-separated ranges.
  -?|-h list help          -a AND selections (OR)     -b avoid kernel blocks
  -c c  cmd c ^c /c/[bix]  +c w  COMMAND width (9)    +d s  dir s files
  -d s  select by FD set   +D D  dir D tree *SLOW?*   +|-e s  exempt s *RISKY*
  -i select IPv[46] files  -K [i] list|(i)gn tasKs    -l list UID numbers
  -n no host names         -N select NFS files        -o list file offset
  -O no overhead *RISKY*   -P no port names           -R list paRent PID
  -s list file size        -t terse listing           -T disable TCP/TPI info
  -U select Unix socket    -v list version info       -V verbose search
  +|-w  Warnings (+)       -X skip TCP&UDP* files     -Z Z  context [Z]
  -- end option scan     
  -E display endpoint info              +E display endpoint info and files
  +f|-f  +filesystem or -file names     +|-f[gG] flaGs 
  -F [f] select fields; -F? for help  
  +|-L [l] list (+) suppress (-) link counts < l (0 = all; default = 0)
                                        +m [m] use|create mount supplement
  +|-M   portMap registration (-)       -o o   o 0t offset digits (8)
  -p s   exclude(^)|select PIDs         -S [t] t second stat timeout (15)
  -T qs TCP/TPI Q,St (s) info
  -g [s] exclude(^)|select and print process group IDs
  -i i   select by IPv[46] address: [46][proto][@host|addr][:svc_list|port_list]
  +|-r [t[m<fmt>]] repeat every t seconds (15);  + until no files, - forever.
       An optional suffix to t is m<fmt>; m must separate t from <fmt> and
      <fmt> is an strftime(3) format for the marker line.
  -s p:s  exclude(^)|select protocol (p = TCP|UDP) states by name(s).
  -u s   exclude(^)|select login|UID set s
  -x [fl] cross over +d|+D File systems or symbolic Links
  names  select named files or files on named file systems
Anyone can list all files; /dev warnings disabled; kernel ID check disabled.
[root@localhost 桌面]# 

常用的结合命令使用的参数有:

  1. 查看某个端口的对应进程: lsof -i:port:

  1. 查看某个协议的某个端口情况:lsof -i 协议:port:

netstat 命令

netstat 命令,查看网络状态情况:

netstat --help :

  1. 查看端口的网络状态情况以及进程信息:netstat -a |grep port

-a;显示所有的连接的socket ; grep 在返回的信息中查找后面的内容

一般通过这个命令就可以查询到之后关键字的进程,但是不知道端口的监听情况

telnet命令

除去以上方法可以确认某端口的情况,还可以通过telnet命令去确认某个远程主机上的端口开放情况:

telnet ip port:

上图的情况,只能确认不能连接,但是不能确认:到底是主机就已经连不上,还是只是端口没开放访问,结合ping命令即可确认:

能ping通,不能连上端口,就看看端口对应进程启动没有,端口号开放没有即可。 端口号开放可参考另一篇:https://blog.csdn.net/yeyuningzi/article/details/127546854

猜你喜欢

转载自blog.csdn.net/yeyuningzi/article/details/129437108