做为一名专职的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
注,如果是不能确定的端点,会以??显示的。