笔者在这里主要说下netstat和lsof的使用,以及netstat在mac系统下很多功能的缺失,这个场景下,lsof是很好的补充。个人比较喜欢使用lsof,而对于netstat,即使是linux下,也推荐使用ss代替
netstat
netstat命令列出了关于你的计算机网络通讯的详细信息,网络通讯包括你的计算机通过所有的端口和应用与外界talking的所有方式。所以,征服netstat可以帮助你理解您的计算机如何和怎样建立连接的。
netstat会报告你计算机的所有激活的网络连接,考虑到现代网络设备执行的功能数量,您可以预估到这个列表的长度。可以超过1000行。过滤netstat的输出对于理解你计算机激活的端口发生了什么是最基本的,它内置的flag允许您设置options,从而可以限制命令的输出范围
netstat flags and options
要想看看netstat的全部有效的options,你可以敲入man netstat
以打开netstat使用手册
Tips: man是manual的简称
语法
为了添加flags和options给netstat,你可以使用下面的语法
netstat [-AabdgiLlmnqrRsSvWx] [-c queue] [-f address_family] [-I interface] [-p protocol] [-w wait]
Warning: netstat在macOS下与linux下工作方式是不一样的,所以在macOS下使用fl