Linux Command Line
一. lsof
对于一切皆文件的 Linux,list open 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” 博客,谢绝转载!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。