freebsd系统下sockstat命令详解

做为一名专职的freebsd系统维护员,熟悉使用sockstat命令实时了解各程序监听的端口及连接情况非常有必要,下面通过实例对

sockstat命令的用法做详细解释:
执行sockstat命令后显示如下,做简单说明:
[[email protected] ~]# sockstat

USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS
root     sshd       98902 3  tcp4   79.127.58.80:22       183.22.169.139:3289
root     perl5.8.9  98887 4  tcp4   127.0.0.1:10030       *:*
postfix  trivial-re 98882 6  stream private/rewrite
postfix  trivial-re 98882 7  dgram  -> /var/run/logpriv
postfix  anvil      98881 6  stream private/anvil
postfix  anvil      98881 7  dgram  -> /var/run/logpriv
dovecot  pop3-login 98878 3  stream -> ??
dovecot  pop3-login 98878 4  tcp4   *:110                 *:*
dovecot  pop3-login 98878 10 stream -> /var/run/dovecot/login/default
postfix  pickup     98826 7  dgram  -> /var/run/logpriv
postfix  perl5.8.9  98804 8  dgram  -> /var/run/log
www	 httpd      98740 3  tcp4 6 *:80                  *:*
www	 httpd      98739 3  tcp4 6 *:80                  *:*
postfix  perl5.8.9  96981 8  dgram  -> /var/run/log

USER 运行该程序的所有者
COMMAND 运行的程序名称
PID 运行的程序进程号
FD Scoket的文件描述编号, 常見的: 0是 標準輸入(stdin) , 1 是標準輸出(stdout) , 2是標準錯誤(stderr).
PROTO 通讯协议
LOCAL ADDRESS 本机地址和监听的端口号
FOREIGN ADDRESS 远程地址和使用的端口号

使用sockstat命令经常会用到的参数:
(1)列出已连接的socket信息
[[email protected] ~]# sockstat -c |more

USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS
root     perl5.8.9  98950 7  stream -> ??
postfix  anvil      98933 128 streamprivate/anvil
postfix  smtpd      98932 7  dgram  -> ??
postfix  smtpd      98932 14 stream -> private/anvil
postfix  smtpd      98932 17 tcp4   127.0.0.1:27887       127.0.0.1:10030
dovecot  pop3-login 98913 3  stream -> ??
dovecot  pop3-login 98913 10 stream -> /var/run/dovecot/login/default
root     sshd       98902 3  tcp4   79.127.58.80:22       183.22.169.139:3289
root     perl5.8.9  98886 0  tcp4   127.0.0.1:10030       127.0.0.1:27887
root     perl5.8.9  98886 1  tcp4   127.0.0.1:10030       127.0.0.1:27887

(2)列出排除本地IP的socket信息
[[email protected] ~]# sockstat -L |more

(3)列出排除本地IP的已连接的socket信息
[[email protected] ~]# sockstat -c -L |more

注,如果是不能确定的端点,会以??显示的。