Linux:找出正在使用TCP端口80的内容

时间:2020-01-09 14:16:28  来源:igfitidea点击:

如何在使用命令行选项的基于Linux的系统上查找列出或使用80端口的TCP端口?
您可以使用以下任一命令来查找在Linux操作系统上使用tcp或udp端口号80的情况:

  • netstat是一个命令行工具,可显示网络连接,路由表和许多网络接口统计信息。
  • fuser命令行工具,用于使用文件或套接字标识进程。
  • lsof是一个命令行工具,用于列出Linux/UNIX下打开的文件,以报告所有打开文件的列表以及打开它们的进程。
  • /proc/$pid /`文件系统在Linux下/proc在/proc/PID包含每个正在运行的进程(包括内核进程)的目录,其中包含有关该进程的信息,特别是包括打开端口的进程名称。

例子

打开终端,然后以root用户身份执行以下命令:

netstat命令找出正在使用端口80的端口

输入以下命令

# netstat -tulpn | grep :80

或按如下所示将颜色选项传递给grep命令:

# netstat -tulpn | grep --color :80

输出示例:

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      1215/nginx

其中:

  • 0 0.0.0.0:80源IP:端口
  • 1215/nginx PID /进程名称

nginx Web服务器打开并使用了TCP端口80。
执行以下命令以了解有关nginx的更多信息:

whatis nginx
whereis nginx

注意:您可能需要安装lsof和fuser命令。

使用/proc/$pid/exec文件找出正在使用端口80的端口

首先,找出打开TCP端口90的进程PID,执行:

# fuser 80/tcp

输出示例:

80/tcp:              12161 21776 25250 25393

最后,找出与PID 3813相关的过程名称,执行:

# ls -l /proc/12161/exe

输出示例:

lrwxrwxrwx. 1 root root 0 Aug  9 13:28 /proc/12161/exe -> /usr/sbin/lighttpd

了解有关lighttpd的更多信息:

man lighttpd
whatis lighttpd
whereis lighttpd

输出示例:

lighttpd             (8)  - a fast, secure and flexible web server
lighttpd: /usr/sbin/lighttpd /usr/lib64/lighttpd /usr/share/man/man8/lighttpd.8.gz

您可以使用包管理器来挖掘lighttpd:

# rpm -qa | grep lighttpd

输出示例:

lighttpd-1.4.32-1.el6.x86_64

要查找有关lighttpd-1.4.32-1.el6.x86_64软件包的更多信息,请执行:

# yum info lighttpd-1.4.32-1.el6.x86_64

输出示例:

Loaded plugins: auto-update-debuginfo, protectbase, rhnplugin, security
This system is receiving updates from RHN Classic or RHN Satellite.
0 packages excluded due to repository protections
Installed Packages
Name        : lighttpd
Arch        : x86_64
Version     : 1.4.32
Release     : 1.el6
Size        : 664 k
Repo        : installed
Summary     : A web server more optimized for speed-critical environments.
URL         : http://lighttpd.net/
License     : Revised BSD
Description : It is a secure and fast web server a very low memory footprint compared
            : to other webservers and takes care of cpu-load.

或使用rpm命令:

# rpm -qi lighttpd

输出示例:

Name        : lighttpd                     Relocations: (not relocatable)
Version     : 1.4.32                            Vendor: theitroad
Release     : 1.el6                         Build Date: Sun 03 Feb 2013 03:22:08 AM CST
Install Date: Mon 04 Feb 2013 04:44:26 AM CST      Build Host: rhel6.theitroad.com
Group       : System Environment/Daemons    Source RPM: lighttpd-1.4.32-1.el6.src.rpm
Size        : 680402                           License: Revised BSD
Signature   : (none)
URL         : http://lighttpd.net/
Summary     : A web server more optimized for speed-critical environments.
Description :
It is a secure and fast web server a very low memory footprint compared
to other webservers and takes care of cpu-load.

Debian/Ubuntu Linux用户可以使用以下命令:

# dpkg --list | grep lighttpd
# apt-cache search lighttpd
# apt-cache show lighttpd

最后一条命令的输出示例:

Package: lighttpd
Priority: optional
Section: universe/web
Installed-Size: 841
Maintainer: Ubuntu Developers 
Original-Maintainer: Debian lighttpd maintainers 
Architecture: amd64
Version: 1.4.28-2ubuntu4
Provides: httpd, httpd-cgi
Depends: libattr1 (>= 1:2.4.46-5), libbz2-1.0, libc6 (>= 2.4), libgamin0 | libfam0, libldap-2.4-2 (>= 2.4.7), libpcre3 (>= 8.10), libssl1.0.0 (>= 1.0.0), zlib1g (>= 1:1.1.4), lsb-base (>= 3.2-14), mime-support, libterm-readline-perl-perl
Recommends: spawn-fcgi
Suggests: openssl, rrdtool, apache2-utils, ufw
Conflicts: cherokee (

lsof命令找出正在使用端口80的端口

输入以下命令

# lsof -i :80 | grep LISTEN

输出示例:

apache2   1607     root    3u  IPv4   6472      0t0  TCP *:www (LISTEN)
apache2   1616 www-data    3u  IPv4   6472      0t0  TCP *:www (LISTEN)
apache2   1617 www-data    3u  IPv4   6472      0t0  TCP *:www (LISTEN)