写了一个生成服务器所有被占用端口及其进程报告的 shell,复制运行即可 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
cernard
V2EX    分享创造

写了一个生成服务器所有被占用端口及其进程报告的 shell,复制运行即可

  •  
  •   cernard 2020-10-12 17:15:41 +08:00 3144 次点击
    这是一个创建于 1893 天前的主题,其中的信息可能已经有所发展或是发生改变。

    感觉有时候整理服务器的时候需要:

    https://gist.github.com/archichen/8aade04462fe1ffb3ae8e9ca97d0fdc1

    复制一个命令,然后运行,报告在 /tmp/reporter.csv|md

    可以生成 CSV 或者 Markdown,效果如图:

    CSV

    Markdown

    不知道上面的图有没有挂

    https://imgur.com/ivmUhgu

    https://imgur.com/c5E0T1v

    12 条回复    2020-10-15 20:31:32 +08:00
    dingdangnao
        1
    dingdangnao  
       2020-10-12 21:13:10 +08:00
    可以可以
    letitbesqzr
        2
    letitbesqzr  
       2020-10-12 22:48:23 +08:00
    赞,不知道能否写个 ss 命令的。CentOS 7 mini 安装的 没有 netstat (net-tools )了
    talentl
        3
    talentl  
       2020-10-12 23:30:15 +08:00 via iPhone
    @letitbesqzr 不能单独安一下 netstat 吗?
    mikeguan
        4
    mikeguan  
       2020-10-13 01:18:16 +08:00 via Android
    @letitbesqzr ss 照抄楼主作业就行了。
    为什么用 ss:ss 速度比 netstat 好,极端情况 netstat 会很卡的
    richzhu
        5
    richzhu  
       2020-10-13 10:56:37 +08:00
    这是一篇不翻墙就没法看的帖子。。。
    zealinux
        6
    zealinux  
       2020-10-13 14:21:55 +08:00
    (Not all processes could be identified, non-owned process info
    will not be shown, you would have to be root to see it all.)
    cernard
        7
    cernard  
    OP
       2020-10-13 14:31:08 +08:00
    @zealinux #6 非 root 用户看不到所有进程,切到 root 用户下运行即可
    frant1c
        8
    frant1c  
       2020-10-13 15:51:27 +08:00
    (base) [root@localhost ~]# netstat -ntlp | awk 'BEGIN{ system("echo \\|IP\\|Port\\|PID\\|Parameter\\| > /tmp/reporter.md; echo \\|-\\|-\\|-\\|-\\| >> /tmp/reporter.md") } NR>2 {if($4 !~ "::" && $7 != "-"){split($4,ipAndPort,":"); split($7,pidAndProgress,"/"); system("echo \\|"ipAndPort[1]"\\|"ipAndPort[2]"\\|"pidAndProgress[1]"\\|`cat /proc/"pidAndProgress[1]"/cmdline`\\| >> /tmp/reporter.md")}}'
    (base) [root@localhost ~]# cat /tmp/reporter.md
    |IP|Port|PID|Parameter|
    |-|-|-|-|
    |0.0.0.0|139|5042|/usr/sbin/smbd--foreground--no-process-group|
    |0.0.0.0|22|5044|/usr/sbin/sshd-D|
    |127.0.0.1|25|5479|/usr/libexec/postfix/master-w|
    |0.0.0.0|445|5042|/usr/sbin/smbd--foreground--no-process-group|

    只能显示几个服务,redis, mysql, docker 里运行的 web 服务都没有显示呢
    cernard
        9
    cernard  
    OP
       2020-10-13 16:05:47 +08:00
    @frant1c docker 的服务,使用 netstat -ntlp 无法显示进程 PID,列出来也没啥意义。我的脚本是只显示有 PID 的进程,如果你需要通过 docker 容器端口再从 docker ps 中找到对应的服务名,然后添加到 report 中,可以自己改一下
    frant1c
        10
    frant1c  
       2020-10-13 16:30:55 +08:00
    @cernard redis 和 mysql 不是装在 docker 里的
    cernard
        11
    cernard  
    OP
       2020-10-13 16:33:01 +08:00
    @frant1c 我服务器上没这,没法调试,你看着改改吧哈哈哈
    cctv6
        12
    cctv6  
       2020-10-15 20:31:32 +08:00 via Android
    这个 awk 用得有点 6 啊
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1188 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 240ms UTC 17:43 PVG 01:43 LAX 09:43 JFK 12:43
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86