V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
interdev
V2EX  ›  macOS

osx 下如何查端口对应的 tcp/udp 进程?

  •  
  •   interdev · Feb 8, 2015 · 3832 views
    This topic created in 4109 days ago, the information mentioned may be changed or developed.
    刚启动了tftpd ,通过 netstat -ap udp 能查到端口开了,通过 ps 确查不到进程启动了?请问osx下如何查端口对应的tcp/udp进程?

    osx4:test jeff$ netstat -ap udp | grep tftp
    udp6 0 0 *.tftp *.*
    udp4 0 0 *.tftp *.*
    osx4:test jeff$ ps aux | grep tftp
    jeff 670 0.0 0.0 2432772 640 s000 S+ 10:25上午 0:00.00 grep tftp
    osx4:test jeff$ ls /usr/libexec/tftpd
    /usr/libexec/tftpd
    5 replies    2015-02-08 11:37:36 +08:00
    auser
        1
    auser  
       Feb 8, 2015 via Android
    man lsof
    interdev
        2
    interdev  
    OP
       Feb 8, 2015
    谢谢,@auser ,lsof 刚开始也没查到,后来一想可能是权限问题,以root运行就能查到了, 不知道我这样理解对不对, tftpd 是以1号进程launchd的子进程方式在运行,有root权限,能访问所有文件。

    sh-3.2# lsof -ni | grep tftp
    launchd 1 root 48u IPv4 0x2f0d2aae9fd6e1e3 0t0 UDP *:tftp
    launchd 1 root 50u IPv4 0x2f0d2aae9fd6e1e3 0t0 UDP *:tftp
    launchd 1 root 51u IPv6 0x2f0d2aae9fd6df8b 0t0 UDP *:tftp
    launchd 1 root 52u IPv6 0x2f0d2aae9fd6df8b 0t0 UDP *:tftp
    lululau
        3
    lululau  
       Feb 8, 2015
    lsof -i:port
    ptyfork
        4
    ptyfork  
       Feb 8, 2015   ❤️ 1
    launchd这个功能是跟xinetd原理差不多的, launchd启动侦听在tftp端口,此时tfptd实际没有启动, 等有客户端请求时,launchd接受请求后fork出tftpd子进程把网络连接分发给子进程完成服务请求。
    interdev
        5
    interdev  
    OP
       Feb 8, 2015
    @ptyfork 谢谢,原来是以超级守护进程方式在运行,类似于windows的 svchost.exe了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2961 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 07:26 · PVG 15:26 · LAX 00:26 · JFK 03:26
    ♥ Do have faith in what you're doing.