zoukankan      html  css  js  c++  java
  • lsof命令、netstat

    下面的一些其它东西需要牢记:

    默认 : 没有选项,lsof列出活跃进程的所有打开文件
    -a 表示两个参数都必须满足时才显示结果
    -c 查看指定的命令
    -g gid 显示归属gid的进程情况
    -i 显示所有连接 -t 仅获取进程ID -u 显示指定用户打开的文件 -p 查看指定进程ID已打开的文件
    +d /DIR/ 显示目录下被进程打开的文件 +D /DIR/ 同上,但是会搜索目录下的所有目录,时间相对较长 -d FD 显示指定文件描述符的进程
    -U 获取UNIX套接口地址
    -F 格式化输出结果,用于其它命令。可以通过多种方式格式化,如-F pcfn(用于进程id、命令名、文件描述符、文件名,并以空终止)
    -N 列出所有UNIX域Socket文件
    -r,lsof会永远不断的执行,直到收到中断信号 查看目前ftp连接的情况,每隔3秒不断执行:lsof -i tcp@192.168.106.128:ftp -r 3
    +r,lsof会一直执行,直到没有档案被显示
    usage: [-?abhlnNoOPRstUvV] [+|-c c] [+|-d s] [+D D] [+|-f[cgG]]
     [-F [f]] [-g [s]] [-i [i]] [+|-L [l]] [+|-M] [-o [o]]
     [-p s] [+|-r [t]] [-S [t]] [-T [t]] [-u s] [+|-w] [-x [fl]] [--] [names]

    使用-i显示所有连接

    # lsof -i
    COMMAND   PID        USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
    smbd      627        root   32u  IPv6     10612      0t0  TCP *:microsoft-ds (LISTEN)
    smbd      627        root   33u  IPv6     10613      0t0  TCP *:netbios-ssn (LISTEN)

    使用-i 6仅获取IPv6流量

    # lsof -i 6
    COMMAND  PID        USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    smbd     627        root   32u  IPv6  10612      0t0  TCP *:microsoft-ds (LISTEN)
    smbd     627        root   33u  IPv6  10613      0t0  TCP *:netbios-ssn (LISTEN)

    仅显示TCP连接(同理可获得UDP连接)
    你也可以通过在-i后提供对应的协议来仅仅显示TCP或者UDP连接信息。

    # lsof -iTCP
    COMMAND   PID        USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
    smbd      627        root   32u  IPv6     10612      0t0  TCP *:microsoft-ds (LISTEN)
    smbd      627        root   33u  IPv6     10613      0t0  TCP *:netbios-ssn (LISTEN)

    使用-i:port来显示与指定端口相关的网络信息

    COMMAND  PID USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
    sshd    1147 root    3u  IPv4      1872      0t0  TCP *:ssh (LISTEN)
    sshd    1147 root    4u  IPv6      1874      0t0  TCP *:ssh (LISTEN)

    使用@host来显示指定到指定主机的连接

    使用@host:port显示基于主机与端口的连接

    lsof -i@10.102.162.29:22
    COMMAND  PID USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
    sshd    6536 root    3u  IPv4 105348538      0t0  TCP 10.102.162.29:ssh->122.71.226.220:62360 (ESTABLISHED)
    sshd    6831 root    3u  IPv4 105352787      0t0  TCP 10.102.162.29:ssh->112.27.195.20:61540 (ESTABLISHED)

    找出监听端口

      找出正等候连接的端口

      # lsof -i -sTCP:LISTEN

      # lsof -i | grep -i LISTEN

    找出监听端口  

    #        lsof -i -sTCP:ESTABLISHED

    #        lsof -i | grep -i ESTABLISHED

     

    用户信息

    你也可以获取各种用户的信息,以及它们在系统上正干着的事情,包括它们的网络活动、对文件的操作等。

    使用-u显示指定用户打开了什么

    # lsof -u root 
    Dock 155 daniel  txt REG   14,2   2798436   823208 /usr/lib/libicucore.A.dylib
    Dock 155 daniel  txt REG   14,2   1580212   823126 /usr/lib/libobjc.A.dylib

    使用-u user来显示除指定用户以外的其它所有用户所做的事情

      # lsof -u ^root

    杀死指定用户所做的一切事情  

      # kill -9 `lsof-t -u dabing`

     

    命令和进程

    使用-c查看指定的命令正在使用的文件和网络连接

    lsof -c python

    COMMAND   PID USER   FD   TYPE             DEVICE  SIZE/OFF      NODE NAME
    python   2137 root  cwd    DIR              253,1      4096   1575955 /root/apwd/Synchronous
    python   2137 root  rtd    DIR              253,1      4096         2 /

    使用-p查看指定进程ID已打开的内容

    lsof -p 2137

    -t选项只返回PID

    lsof -t -c python

    文件和目录

    通过查看指定文件或目录,你可以看到系统上所有正与其交互的资源——包括用户、进程等。

    显示与指定目录交互的所有一切

    lsof /home/synchronous_model/server_new/

    显示与指定文件交互的所有一切

    lsof /home/synchronous_model/server_new/server_new.py

    递归查找某个目录中所有打开的文件

    # lsof +D /usr/lib

    加上+D参数,lsof会对指定目录进行递归查找,注意这个参数要比grep版本慢:

    # lsof | grep ‘/usr/lib’

    之所以慢是因为+D首先查找所有的文件,然后一次性输出。

     

     

    netstat

    1.功能与说明

    netstat 用于显示linux中各种网络相关信息。如网络链接 路由表  接口状态链接 多播成员等等。

    2.参数含义介绍

    -a (all)显示所有选项,默认不显示LISTEN相关
    -t (tcp)仅显示tcp相关选项
    -u (udp)仅显示udp相关选项
    -n 拒绝显示别名,能显示数字的全部转化成数字。
    -l 仅列出有在 Listen (监听) 的服務状态
    -p 显示建立相关链接的程序名
    -r 显示路由信息,路由表
    -e 显示扩展信息,例如uid等
    -s 按各个协议进行统计
    -c 每隔一个固定时间,执行该netstat命令。

    提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

    3.常用实例

    3.1  列出所有端口 
    netstat -a
    3.2  列出所有tcp端口
    netstat -at
    3.3 列出所有udp端口 
    netstat -au
    3.4 只显示监听端口 
    netstat -l
    3.5 只显示监听的tcp端口 
    netstat -lt
    3.6 只显示所有监听udp端口 
    netstat -lu
    3.7  只列出所有监听unix端口 
    netstat -lx
    3.8  显示所有端口的统计信息 
    netstat -s
    3.9 显示所有tcp(netstat -st)或udp(netstat -su)的统计信息
    3.10 显示pid/进程名称 netstat -p   
    -p可以与其他参数一起使用 比如显示tcp的进程id信息,netstat -pt
    3.11  在 netstat 输出中不显示主机,端口和用户名 (host, port or user)当你不想让主机,端口和用户名显示,使用 netstat -n。
    将会使用数字代替那些名称。同样可以加速输出,因为不用进行比对查询。netstat -ntpl 显示tcp的监听端口,不显示主机端口用户名 用数字代替 netstat -ptnl 3.12 一秒钟输出一次tcp监听端口信息 netstat -ntplc 3.13 显示路由信息 netstat -r 3.14 显示网络接口列表 netstat -i

     

  • 相关阅读:
    linux系列之-—03 压缩和解压缩命令
    Atlassian Confluence安装
    常见ODBC及OLEDB连接串的写法
    windows 怎么验证域名是否开启了 https
    Jenkins基础篇 系列之-—05 集成JIRA
    SVN系列之—-SVN版本回滚的办法
    JMeter 系列之—-02 创建数据库测试计划
    golang web框架 beego 学习 (一) 环境搭建
    补充 3:Golang 一些特性
    补充 1: panic 、recover、 defer
  • 原文地址:https://www.cnblogs.com/domestique/p/7862504.html
Copyright © 2011-2022 走看看