Linux常用命令收集整理
有一台 三-丰-云-免-费-主-机,经常都要跟 Linux 打交道,经常要使用到linux的各种命令,当然每次都可以找度娘,但一些基本常的命令还是需要熟练掌握。
Linux 网络命令涉及到这么几块:
1.1 ifconfigifconfig 通常是用来查看网卡的信息(比如 IP 地址、收发包及丢包情况等),以及配置网卡(如启停网卡,修改网卡 MTU,修改 IP、MAC 地址等) 查看网卡信息: 这是一份你需要的Linux 网络命令大全 这是一份你需要的Linux 网络命令大全 ifconfig eth0 down 1.2 ipip 是非常强大的工具,可以替换 net-tools 包的所有工具,如常见的 ifconfig、 netstat、 route、 arp 等,比如查看网卡信息: 这是一份你需要的Linux 网络命令大全 这是一份你需要的Linux 网络命令大全 这是一份你需要的Linux 网络命令大全 02 连通性探测连通性探测意在使用工具探测两个网络节点之间的连通性,常用的有 ping、 telnet、 traceroute、 tracepath、 mtr 等工具。 2.1 ping这个命令通常用来判断网络的连通性和网速情况,偶尔用来查看域名的 IP,比如: 这是一份你需要的Linux 网络命令大全 使用 -c 参数可以指定发送数据包的个数, -w 指定最长等待时间, -I指定发送数据包的网卡。 ping 只能使用 ipv4,要使用 ipv6,可以用 ping6 命令。 2.2 telnettelnet 通常用作远程登录,用来确定远程服务的状态,探测远程服务器的某个端口是否能访问,也可以探测本地的,如: 这是一份你需要的Linux 网络命令大全 2.3 traceroute & tracepathtraceroute 主要用来探测从源主机到目标主机之间的每一跳路由节点,通常和 ping 结合起来排查网络故障, ping 测连通性和网速,如果网络不通,可以借由 traceroute 进一步排查是哪个路由节点出问题了。如果网络卡顿,也可以判断出哪里是瓶颈。 这是一份你需要的Linux 网络命令大全 类似的工具还有一个 tracepath。 2.4 mtrmtr 全称是 mytraceroute,是一个集大成的工具,它集成了 ping、 traceroute、 nslookup 的功能,诊断网络问题非常方便。 mtr 有个好处就是能够 实时刷新 数据,比如 mtr-n www.baidu.com 可以看到,从本地到百度经过的所有路由,并显示每个路由间的丢包率、响应时间等。 常用参数: mtr -r 不会刷新,一次性打印 10个包的统计结果 03 网络连接主要涉及到对网络连接状态的统计,比如连接打开了哪些端口、TCP/UDP、socket 的状态是什么等等。常用的工具有 netstat、 ss、lsof、 netcat等。 3.1 netstatnetstat 用于查看当前网络的连接情况,能够查看所有的网络连接,包括 unix socket 等,也是集多种工具于一身的组合工具。最常用的就是用来检查本地系统都打开了哪些端口: 这是一份你需要的Linux 网络命令大全 netstat -i 显示网络接口信息 3.2 ssss 和 netstat 类似,也是用来查看网络连接统计的工具,它的输出也和 netstat 类似,甚至显示更多连接状态信息,它最大的优势在于比 netstat 快,在服务器维持上万个连接的情况下,这种优势就体现得比较明显。 常用参数: -l 查看处于LISTEN状态的连接 3.3 lsoflsof 可以列出当前系统打开文件、打开文件的进程、进程打开的端口。由于在 Linux 中一切皆文件,所以, lsof 也常用来统计网络相关的文件信息(使用 -i 选项),如 TCP/UDP/Unix socket 的统计信息。 它的使用格式为 [46][protocol][@hostname|hostaddr][:service|port],比如: 列出所有与主机 172.18.82.173(我的主机IP)22 号端口的 ipv4 连接: 这是一份你需要的Linux 网络命令大全 3.4 netcat(nc)nc 被称为瑞士×××,非常轻巧但功能强大,能够创建各种不同类型的网络连接、能够实现简单的聊天工具、远程传输文件、debug 分析、扫描端口等。 比如扫描主机 172.18.82.173 的 1-100 哪些端口开放: 这是一份你需要的Linux 网络命令大全 04 流量统计4.1 ifstatifstat 主要用来监测主机网口的网络流量,常用的选项包括: -a:监测主机所有网口 这是一份你需要的Linux 网络命令大全 4.2 sarsar 是一个系统历史数据统计工具。统计的信息非常全,包括 CPU、内存、磁盘 I/O、网络、进程、系统调用等等信息。网络信息通常使用 -n参数来统计,常用几个选项如下: -n DEV:网络接口统计信息。 和 top、 iotop 是一个系列,它主要用来查看网络流量。 05 交换与路由5.1 arp用来管理主机的 ARP 缓存,增删查改等。 常见用法: arp:显示 ARP 缓存所有记录 5.2 arping查看本 LAN 内 IP 对应的主机 MAC 地址,以及 MAC 的占用问题。 比如,指定从某个接口向某台主机发送 ARP 包,来获得 MAC 地址。 这是一份你需要的Linux 网络命令大全 5.3 vconfigLinux vlan 配置命令,比如给某个接口增加两个 vlan 是: vconfig add eth0 100 vconfig rem eth0.100 5.4 routeroute 用来查看和修改路由表,同样工具还有 netstat-r 和 ip route。 route-n 查看路由表 route add default gw 192.168.1.1 dev eth0 06 防火墙6.1 iptablesiptables 是强大的包过滤工具。 iptables 通过一系列规则来过滤、处理数据包,能够实现防火墙、NAT等功能。 当一个网络包进入到主机之前,会经过一系列的 iptables 规则检查,如何通过则接受,否则就丢弃,iptables 的规则由多个表组成,每个表又由多条链构成,整体比较复杂,对于这个工具,我们 后面再出一篇文章来进行详细讲解。 6.2 ipsetipset 是一个辅助 iptables 的工具,通常用在限制多个 IP 的场景下,使用 ipset,可以将多个 IP 放入一个集合,然后 iptables 针对这个集合做限制,这样可以大大提高效率。 ipset除了可以集合 IP 外,还可以集合 网段、MAC、端口、网卡等。 常用操作比如: 创建一个 ipset: ipset create blacklist hash:ip ipset add blacklist 192.168.10.2 ipset del blacklist 192.168.10.2 ipset create blacklist hash:net timeout 60 07 域名相关7.1 hosthost 命令是域名分析查询工具,用来测试域名系统工作是否正常。 比如查看百度域名信息: [[email?protected] ~] host www.baidu.com 7.2 nslookupnslookup 用于交互式域名解析,查看域名解析是否正常,在网络故障的时候用来诊断网络问题。 查看 google.com 的 DNS 地址: 这是一份你需要的Linux 网络命令大全 [[email?protected] ~]# nslookup
dig 命令也是域名解析工具,但是比 nslookup 提供的更全面: 这是一份你需要的Linux 网络命令大全 whois 用于查看域名所有者的信息,比如注册邮箱、手机号码、域名服务商等。 这是一份你需要的Linux 网络命令大全 08 抓包相关8.1 tcpdumptcpdump 是 Linux 下最为强大的抓包工具。之前写过一篇完整的文章,详细请看这里: Linux 网络命令必知必会之 tcpdump,一份完整的抓包指南请查收! 09 虚拟设备虚拟设备指的是针对 tap/tun、veth-pair、bridge、ovs 等设备的工具。 对于这些设备的操作命令,都隶属于 ip 命令,比如 tap/tun 设备是 ip tuntap、veth-pair 和 bridge 是 ip link和 ip netns。 除此之外,还有一些相关的辅助工具。 9.1 tunctltunctl 实现和 ip tuntap 类似,用来创建 tap/tun 设备。 默认创建 tap 接口: tunctl 为用户 user 创建一个 tap 接口: /# tunctl -u user /# tunctl -n /# tunctl -d tap0 9.2 brctlbrctl 用来操作 bridge 网桥,可用于查看网桥、创建网桥、把网卡加入网桥等。 [[email?protected] ~]# brctl showbridge name bridge id STP enabled interfacesbr0 8000.000000000000 noOVS 是网桥的第三方开源实现,它自带一套命令集,有兴趣的读者可以进一步研究下。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |