阅读本文大约需要15分钟。
作为IT从业者,我经常不得不处理Linux,并且网络经常使用。掌握基本网络命令是一项必要的技能,它也是提高我们的工作效率的必要工具。今天,本文将整理常用的网络工具。因为有很多命令需要解决,所以本文自然不会深入介绍这些命令的用法。您可以给人留下深刻的印象,然后在学习和工作期间遇到它们时检查一下。
通常,Linux网络命令涉及多个部分:
01网络配置
两个最重要的工具是IP。这两个工具来自两个工具包网络工具包,分别是Net-Tools软件包还包含常用的工具,例如Route,TC等。但是,Net-Tools软件包已逐渐被软件包所取代。对于我们的研究,我们不妨学习一切,这也将帮助我们理解和记住。
1.1
它通常用于查看网卡信息(例如IP地址,发送和接收和数据包丢失等),并配置网卡(例如启动和停止网络卡,修改网络卡MTU,修改IP,MAC地址等)
查看网卡信息:
[root@by ~]# ifconfig eth0
eth0: flags=4163mtu 1500
inet 172.18.82.173 netmask 255.255.240.0 broadcast 172.18.95.255
ether 00:16:3e:12:16:e7 txqueuelen 1000 (Ethernet)
RX packets 2592887 bytes 775090020 (739.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2164631 bytes 340929797 (325.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
配置网卡的IP地址:
ifconfig eth0 192.168.2.10
ifconfig eth0 192.168.2.10 netmask 255.255.255.0
ifconfig eth0 192.168.2.10 netmask 255.255.255.0 broadcast 192.168.2.255
交换机网卡:
ifconfig eth0 down
ifconfig eth0 up
1.2 IP
IP是一个非常强大的工具,可以替换Net-Tools软件包中的所有工具,例如,ROUTE,ARP等,例如查看网络卡信息:
[root@by ~]# ip addr ls dev eth0
2: eth0:mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:16:3e:12:16:e7 brd ff:ff:ff:ff:ff:ff
inet 172.18.82.173/20 brd 172.18.95.255 scope global eth0
valid_lft forever preferred_lft forever
查看路线:
[root@by ~]# ip route
default via 172.18.95.253 dev eth0
169.254.0.0/16 dev eth0 scope link metric 1002
172.18.80.0/20 dev eth0 proto kernel scope link src 172.18.82.173
查看ARP信息:
[root@by ~]# ip neigh
172.18.82.1 dev eth0 lladdr ee:ff:ff:ff:ff:ff STALE
172.18.95.253 dev eth0 lladdr ee:ff:ff:ff:ff:ff REACHABLE
有关更多用法,您可以使用MAN IP。
02连接检测
连接检测旨在使用工具来检测两个网络节点之间的连接性。常用的工具包括ping,,,,mtr,等。
2.1 ping
此命令通常用于判断网络连接性和网络速度,偶尔用于查看域名的IP,例如:
[root@by ~]# ping www.baidu.com
PING www.wshifen.com (103.235.46.39) 56(84) bytes of data.
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=1 ttl=42 time=238 ms
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=3 ttl=42 time=238 ms
您可以看到百度的相应域名的IP。
使用-c参数指定发送的数据包数,-w指定最大等待时间,-i指定网络卡发送数据包。
Ping只能使用IPv4。要使用IPv6,您可以使用ping6命令。
2.2
它通常用作远程登录,以确定远程服务的状态,检测是否可以访问远程服务器的端口,还可以检测到本地服务器,例如:
[root@by ~]# telnet localhost 22
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.4
可以看到成功连接的22个端口,表明该端口是打开的。
2.3&
它主要用于检测从源主机到目标主机的每个跳路节点。通常,它与ping结合使用,以解决网络故障,ping以测量连接性和网络速度。如果网络未连接,则可以进一步故障排除哪个路由节点有问题。如果网络卡住,您还可以确定哪种瓶颈。
[root@by ~]# traceroute -I -n www.baidu.com
traceroute to www.baidu.com (103.235.46.39), 30 hops max, 60 byte packets
1 * * *
2 11.220.36.69 9.037 ms 9.087 ms 9.124 ms
3 11.220.36.138 55.341 ms 102.560 ms 132.373 ms
4 11.217.38.254 1.690 ms 1.747 ms 1.809 ms
5 119.38.215.142 2.326 ms 2.307 ms 2.332 ms
...
可以看出,主机总共经历了30次跳跃,每个跳跃都计算了响应时间。
还有另一个类似的工具。
2.4 mtr
MTR的全名是整合PING功能的完整工具,并且非常方便诊断网络问题。
MTR的一个优点是它可以实时刷新数据。例如,MTR-N可以看到从本地到百度传递的所有路线,并在每个路线之间显示数据包损耗率,响应时间等。
常见参数:
mtr -r 不会刷新,一次性打印 10个包的统计结果
mtr -s 用来指定ping数据包的大小
mtr -n no-dns不对IP地址做域名反解析
mtr -a 来设置发送数据包的IP地址,这个用于主机有多个IP时。
mtr -i 使用这个参数来设置ICMP返回之间的要求默认是1秒
mtr -c 指定发送多少个数据包
mtr -4 IPv4
mtr -6 IPv6
03网络连接
它主要涉及网络连接状态的统计信息,例如为连接打开哪些端口,TCP/UDP,状态是什么等。常用工具包括,SS,LSOF,等等。
3.1
它用于查看当前的网络连接状态,能够查看所有网络连接,包括UNIX等。它也是多个工具的组合。最常用的一个是检查在本地系统上打开哪些端口:
[root@by ~]# netstat -lnpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2469/sshd
其他一些常见用途包括:
3.2 ss
SS还是用于查看网络连接统计信息的工具。它的输出相似,甚至显示更多连接状态信息。它最大的优势是它更快。当服务器保持数万个连接时,此优势就会更加明显。
常见参数:
通常,SS-TLN4用于查看所有在本地收听的端口。
3.3 LSOF
LSOF可以列出当前系统的文件打开,打开文件的过程以及该过程打开的端口。由于所有内容都是Linux中的文件,因此LSOF通常也用于计算与网络相关的文件信息(使用-i选项),例如TCP/UDP/UNIX统计信息。
其用法格式是[46] [] [@|] [:| port],例如:
列出与主机172.18.82.173(我的主机IP)端口22:
[root@by ~]# lsof -i 4@172.18.82.173:22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 25605 root 3u IPv4 45999589 0t0 TCP by:ssh->119.123.198.89:14400 (ESTABLISHED)
sshd 25628 root 3u IPv4 46005729 0t0 TCP by:ssh->119.123.198.89:14950 (ESTABLISHED)
sshd 25655 root 3u IPv4 46013885 0t0 TCP by:ssh->119.123.198.89:16032 (ESTABLISHED)
3.4(NC)
NC被称为瑞士军刀,它非常轻巧但功能强大,能够创建各种类型的网络连接,启用简单的聊天工具,远程文件传输,调试分析,扫描端口等。
例如,扫描主机的1-100端口172.18.82.173向哪些端口打开:
[root@by ~]# nc -zv 172.18.82.173 1-1024 |& grep 'succeeded'
Connection to 172.18.82.173 22 port [tcp/ssh] succeeded!
Connection to 172.18.82.173 80 port [tcp/http] succeeded!
如您所见,主机的端口22和80打开。
04流量统计4.1
它主要用于监视主机网络端口上的网络流量。常见选项包括:
例如,使用以下命令在一定时间段内计数主机所有网络端口的流量数据:
[root@by ~]# ifstat -at 2 5
#kernel
Interface RX Pkts/Rate TX Pkts/Rate RX Data/Rate TX Data/Rate
RX Errs/Drop TX Errs/Drop RX Over/Rate TX Coll/Rate
lo 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
eth0 169 0 97 0 13934 0 17702 0
0 0 0 0 0 0 0 0
4.2 SAR
SAR是系统历史统计工具。统计信息非常完整,包括CPU,内存,磁盘I/O,网络,进程,系统调用和其他信息。网络信息通常使用-n参数计数,并且几个常用的选项如下:
4.3 iftop
TOP和IOTOP是主要用于查看网络流量的系列。
05交换和路由5.1 ARP
用于管理主机的ARP缓存,添加,删除,检查和修改等。
常见用法:
5.2
检查与此LAN中IP相对应的主机MAC地址和MAC职业问题。
例如,指定将ARP数据包从接口发送到主机以获取MAC地址。
[root@by ~]# arping -I eth0 172.18.80.170 -c 1
ARPING 172.18.80.170 from 172.18.82.173 eth0
Unicast reply from 172.18.80.170 [EE:FF:FF:FF:FF:FF] 0.572ms
5.3
Linux VLAN配置命令,例如将两个VLAN添加到某个接口是:
vconfig add eth0 100
vconfig add eth0 200
删除VLAN是:
vconfig rem eth0.100
vconfig rem eth0.200
5.4路线
路由用于查看和修改路由表,相同的工具包括-r和IP路由。
例如,添加默认路由:
route add default gw 192.168.1.1 dev eth0
06防火墙6.1
这是一个强大的软件包过滤工具。通过一系列过滤和处理数据包的规则,可以实现防火墙,NAT和其他功能。
在网络数据包进入主机之前,它将进行一系列规则检查。接受如何通过,否则将被丢弃。规则由多个表组成,每个表由多个链组成。总体复杂性相对复杂。对于此工具,我们将稍后发表一篇文章以详细解释。
6.2 ipset
IPSET是一种辅助工具,通常用于限制多个IP的方案。使用IPSET,可以将多个IP放入一个集合中,然后仅限于此集合,这可以大大提高效率。除了收集IP外,IPSET还可以收集网络段,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主机
主机命令是域名分析查询工具,用于测试域名系统是否正常工作。
例如,检查百度域名信息:
[root@by ~] host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 14.215.177.38
www.a.shifen.com has address 14.215.177.39
7.2
它用于交互式域名分辨率,以检查域名分辨率是否正常,用于诊断网络故障时网络问题。
查看的DNS地址:
[root@by ~]# nslookup google.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: google.com
Address: 172.217.160.110
检查使用的DNS服务器地址:
[root@by ~]# nslookup
> server
Default server: 8.8.8.8
Address: 8.8.8.8#53
Default server: 8.8.4.4
Address: 8.8.4.4#53
7.3挖
DIG命令也是一个域名分辨率工具,但比提供的更全面:
[root@by ~]# dig google.com
; <<>> DiG 9.9.4-RedHat-9.9.4-73.el7_6 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61743
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 299 IN A 172.217.160.110
;; Query time: 98 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: 五 5月 03 23:06:57 CST 2019
;; MSG SIZE rcvd: 55
7.4哇
WHOIS用于查看域名所有者的信息,例如注册电子邮件,手机号码,域名服务提供商等。
[root@by ~]# whois coolshell.cn
Domain Name: coolshell.cn
ROID: 20090825s10001s91994755-cn
Domain Status: ok
Registrant ID: hc401628324-cn
Registrant: 陈皓
Registrant Contact Email: haoel@hotmail.com
Sponsoring Registrar: 阿里云计算有限公司(万网)
Name Server: f1g1ns1.dnspod.net
Name Server: f1g1ns2.dnspod.net
Registration Time: 2009-08-25 00:40:26
Expiration Time: 2020-08-25 00:40:26
DNSSEC: unsigned
例如,检查此域名,陈Hao在上注册,注册时间为2009年,注册电子邮件地址为。
08与数据包捕获8.1有关
它是Linux下最强大的包装抓工具。我之前写过一篇完整的文章,请参阅此处以获取详细信息:
09虚拟设备
虚拟设备是指TAP/TUN,VETH-PAIR,OVS和其他设备的工具。
这些设备的操作命令均隶属于IP命令,例如TAP/TUN设备是IP,VETH-PAIR,IP链接和IP NetN。
此外,还有一些相关的辅助工具。
9.1
该实现类似于IP,用于创建TAP/TUN设备。
默认创建点击接口:
tunctl
以上等效于-p
为用户创建TAP接口:
# tunctl -u user
创建一个TUN接口:
tunctl -n
删除接口:
# tunctl -d tap0
9.2 BRCTL
BRCTL用于操作桥梁,该桥可用于查看桥梁,创建桥梁,将网卡添加到桥上等等。
[root@by ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000000000000 no
OVS是桥梁的第三方开源实施。它带有一组命令,感兴趣的读者可以进一步研究它。
10摘要
以上是常用网络工具的集合。此外,实际上还有更多。建议您专注于掌握上述内容。如果您不了解某些内容,您将立即理解。
除命令外,还有一些与网络相关的重要文件,例如:
如上所述,我希望Linux网络命令的基本集合对您有用。我认为这很好。我会给您更多的朋友,并给我一些鼓励,以继续输出高质量的信息。
PS:老读者应该知道,我会不时分享各种好处。如果您害怕丢失这些好处,建议将我的帐户高于我的帐户。我相信这不会让您失望。
后台回复“加入小组”,将您带入专家Ruyun Group
扫一扫在手机端查看
-
Tags : 域名过期时间查询_Linux 网络命令大全(吐血整理)
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。


客服1