欢迎来到之路教程(on itroad-com)

查找所有开放端口的脚本

下面的脚本可用于查找所有打开的端口

#!/bin/ksh
# open_ports.ksh script
#
    pfexec pfiles /proc/* 2>/dev/null | nawk -v port= '
    /^[0-9]/ { cmd=
# ./open_ports.ksh
1920:   /usr/sbin/in.routed
    0.0.0.0:520/udp
    :0.0.0.0/0
5830:   /usr/lib/sendmail -bl -q15m
    127.0.0.1:25/tcp
    :127.0.0.1/587
767:    /usr/sbin/rpcbind
    0.0.0.0:111/unknown
    :0.0.0.0/0
    :0.0.0.0/41986
    :0.0.0.0/111
    :0.0.0.0/0
85:     /lib/inet/in.mpathd
    0.0.0.0:0/udp
    :127.0.0.1/5999
; type="unknown"; continue } == "SOCK_STREAM" { type="tcp" } == "SOCK_DGRAM" { type="udp" } == "AF_INET" { if((port!="")&&(!=port)) continue; if(cmd!="") { printf("%sn %s:%s/%sn",cmd,,,type); cmd="" } else { printf(" %s:%s/%sn",cmd,,,type); }}'

运行脚本以显示服务器中所有打开的端口:

#!/bin/bash
# Get the process which listens on port
#  is the port we are looking for
if [ $# -lt 1 ]
then
echo "Please provide a port number parameter for this script"
echo "e.g. 
# ./port.sh 22
Greping for your port, please be patient (CTRL+C breaks) ...
        sockname: AF_INET6 ::ffff:192.168.1.20  port: 22
Is owned by pid 3657
        sockname: AF_INET6 ::ffff:192.168.1.20  port: 22
Is owned by pid 3658
        sockname: AF_INET6 ::  port: 22
Is owned by pid 824
22" exit fi echo "Greping for your port, please be patient (CTRL+C breaks) ... " for i in `ls /proc` do pfiles $i | grep AF_INET | grep if [ $? -eq 0 ] then echo Is owned by pid $i fi done
在 Solaris 中找出使用某个端口的进程

很多时候需要知道哪个进程在特定端口上运行。
我们正在安装的应用程序可能会出现错误,例如“无法绑定端口”或者“端口已在使用中”。
在这些情况下,我们可以确定哪个进程阻塞了端口。
有时也有审计要求,以找出所有端口和相关进程。

为了解决这个问题,有一个简单的脚本可用(归功于 oracle)。
该脚本执行以下操作:

  1. 遍历/proc中的所有进程目录

  2. 在每个目录上运行 pfiles 命令,同时对 AF_INET 和指定为脚本参数的端口进行 grepping。

  3. 如果返回的错误码为0(例如:success),则回显出使用该端口的进程。

完整的脚本如下:

# ps -ef | egrep "3657|3658|824"
    root  3657   824   0 07:57:51 ?           0:00 /usr/lib/ssh/sshd
    root   824     1   0 04:09:51 ?           0:00 /usr/lib/ssh/sshd
    root  3658  3657   0 07:57:51 ?           0:01 /usr/lib/ssh/sshd

要查找使用端口 22 的进程,请按以下方式运行脚本:

##代码##

检查进程:

##代码##
日期:2020-09-17 00:15:23 来源:oir作者:oir