Linux 系统查看网络的常用命令
-
ifconfig命令
查看和配置网络状态 -
关闭和启动网卡
ifdown 网卡设备名 # 禁用该网卡设备
ifup 网卡设备名 # 启用该网卡设备
- 查询网络状态
netstat 选项
选项:
-t:列出TCP协议端口
-u:列出UDP协议端口
-n:不使用域名与服务名,而使用IP地址和端口号
-l :仅列出在监听状态网络服务(只有TCP有监听状态)
-a:列出所有网络连接
-r :列出路由列表,功能和route命令一致
- 查看DNS
nslookup 地址
或者dig命令
dig hostname mx
dig hostname cname
dig hostname +short
dig 是一个非常强大的命令,可以@server 来获得某个dns server上面的dns record。
查看本机DNS服务器
了解更多Linux网络命令可以查看这个帖子。
网络测试命令
-
ping 选项 ip或域名
ping是利用icmp协议来获得对端机器的状态,通常是echo request 和echo reply来查看。更多icmp协议的信息可以查看这个帖子。
查看网络是否通畅
选项:
-c:次数,指定ping包的次数 -
telnet [域名或ip] [端口]
远程管理与端口探测命令,由于协议不加密,很少使用,大多用于探测对方某个端口是否开启。
我们也可以用python来判断远程网络端口的情况。 可以查看这个帖子。
Linux网络性能差
网络性能差是一个不容易分析的问题, 我们大概可以从以下几个方面来分析。
- 物理层
查看网络端口网络丢包情况,物理链路的情况。在os上面都有相应的指标来衡量。 - 数据链路层
链路的的mtu的配置,数据包分组,重新组装的测试等等。 - tcp 的数据重传
这些在netstat -s的输出中都有记录。 - 应用层
这个帖子详细的介绍了如何分析Linux 网络性能差的问题。
上面所有的这些网络指标都可以通过Linux的图形化的监控来获得, 这样就可以拿到实时的数据,帮助我们来分析对应的问题。我们使用的是开源的软件,性能也非常强大。
一些网络方面的配置也会对性能有很大的影响,例如tcp window scaling会对网络的带宽有很大的提升。