Linux Command Line

一. lsof

    对于一切皆文件的 Linux,lisopen files 无疑非常管用,常用参数 mark 下,以备后续快速查询。

1. -i 

    internet,即跟网络有关,用法:

    lsof -i[46] [protocol][@hostname|hostaddr][:service|port]

        46 --> IPv4 or IPv6

        protocol --> TCP or UDP

        hostname --> Internet host name

        hostaddr --> IPv4地址

        service --> /etc/service中的 service name (可以不止一个)

        port --> 端口号 (可以不止一个)

    例:

    lsof -i    显示所有的连接

    lsof [email protected]:513-515    显示到 10.143.0.10 的 513-515 端口的 tcp 连接

    注意,udp 是无连接的,所以无法通过该命令显示到其它服务器的 UDP 连接。

2. 不带参数,直接接文件名

    查看该文件正在被哪些进程打开

    lsof abc.txt

3. -c

    command,命令,对应进程名称,列出该进程所打开的文件,用法:

    lsof -c nginx  显示 nginx 进程现在打开的文件

4. -a

    and,lsof 的参数之间是 OR 的关系,该参数将 OR 修改成 AND。

5. -s [p:s]

    直接 -s 也可使用,用于显示 file 的 size,但最常用的还是接 [p:s] 选项,p 表示 protocol,s 表示 state,此时一定要同时带上 -i 选项:“If  only  TCP  and  UDP  files are to be listed, as controlled by the specified exclusions and inclusions, the -i option must be specified, too”。

    lsof -s tcp:established -i tcp


二. traceroute

    这个命令倒没什么好说的,通过 IP 头中的 TTL 字段递增的方法,来探测路径中的各个 Router。

    默认的探测协议是 UDP,目的端口大于 30000,因为基本不会有应用把端口开在这个范围内。

    -I:使用 ICMP 协议

    -T:使用 TCP 协议

    -p: 指定目的端口

    -m:指定 TTL 上限,默认为 30

    -N:指定探测包的总并发数量

    -q:指定针对一个 route 的探测包的并发数量

    manual 宣称可以利用其来探测路径 MTU,但实际只会显示第一条的 MTU。

技术分享


三. tracepath

    该命令同 traceroute 的区别在于,能显示完整的路径 MTU 及对称/非对称信息。

技术分享



四. mtr

    相比而言,该命令比较小众,在 Fedora 17 中默认没有安装。

    其主要作用等同上面的 2 个命令,但又集成了 ping 的部分功能,可以输出网络质量状况,平均值表示网络质量,方差表示网络抖动。

    -r:report 模式

技术分享


五. ss


六. ip


七. netstat


八. nmap


九. strace


十. ltrace


本文出自 “wilber” 博客,谢绝转载!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。