Linux网络基础-网络相关常用命令

1.ifconfig
查看,设置网卡。

2.hostname
查看,设置当前计算机主机名。

默认主机名是:

localhost.localdomain   # 简写是localhost

主机名配置文件在:/etc/sysconfig/network

3.关闭与启动网卡

Linux网络基础-网络相关常用命令_第1张图片
图片.png
ifdown 网卡设备名   #禁用该网卡设备
ifup  网卡设备名   #启用该网卡设备

上面的效果和ifconfig lo down/up效果一样。

4.netstat [选项]
查看网络状态。
选项:

-t :列出TCP协议端口
-u:列出UDP协议端口
-n:不适用域名与服务器名,而是用IP地址和端口号
-l:仅列出在监听状态网络服务
-a:列出所有的网络连接

TCP/IP协议中的传输层协议就两个协议:TCP或者UDP。

[root@localhost etc]# netstat -tunl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN     
tcp6       0      0 :::23                   :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN     
udp        0      0 0.0.0.0:5353            0.0.0.0:*                          
udp        0      0 0.0.0.0:44856           0.0.0.0:*                          
udp        0      0 127.0.0.1:323           0.0.0.0:*                                            
udp6       0      0 ::1:323                 :::*          

传输层协议就两种:tcp和udp的;端口就两类一类是tcp的端口一类是udp的端口。
参数解释:

Proto    协议类型
Recv-Q    接受的排队队列   
Send-Q    发送的排队队列
Local Address             本地地址
Foreign Address         来源IP,就是来连接服务的外来IP
State 

如果Recv-QSend-Q的排列很高,那么就说明这里网络压力很大,正常情况下是0。
我们注意到只有tcp协议的连接的State有LISTEN,因为tcp协议是三次握手之后才能进行数据传输,所以服务器端需要监听,才能知道连接了我我才能响应你,而udp不用监听,如果有,直接就接受。

如果上面开的有80端口(上面例子没有),说明开了web服务器,有可能是apache有可能是nginx。
如果有3306端口,那么一般是MySQL开了。

我们可以通过netstat -tunl来查看端口的形式来查看是什么服务开了。注意,如果这个netstat的参数加了-l那么,就不会显示正在连接的网络。我们就可以使用netstat -an

程序也是需要在主机中有端口来进行数据传递的。

[root@localhost etc]# netstat -an 
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN     
tcp6       0      0 :::23                   :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN     
udp        0      0 192.168.1.25:41136      61.216.153.106:123      ESTABLISHED
udp        0      0 192.168.122.1:53        0.0.0.0:*                          
udp        0      0 0.0.0.0:67              0.0.0.0:*                          
udp6       0      0 ::1:323                 :::*                               
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     31504    /run/user/1001/keyring/pkcs11
unix  2      [ ACC ]     STREAM     LISTENING     20752    /var/run/NetworkManager/private
unix  2      [ ACC ]     STREAM     LISTENING     31106    /tmp/ssh-rJ1OTRKAaIri/agent.3225
unix  2      [ ACC ]     STREAM     LISTENING     19281    /var/lib/gssproxy/default.sock
unix  2      [ ACC ]     STREAM     LISTENING     31511    /run/user/1001/keyring/ssh
unix  2      [ ACC ]     STREAM     LISTENING     34584    /run/user/1001/at-spi2-DUNI2Y/socket
unix  2      [ ACC ]     STREAM     LISTENING     31222    @/tmp/.ICE-unix/3225

注意,我们使用netstat- an来查看的网络中,有ESTABLISHED这样的状态。

Linux网络基础-网络相关常用命令_第2张图片
图片.png

比如上面的图,说明是连接的状态。establish:建立的意思。

我们如果想查看连接的网络服务:

netstat -an | grep ESTABLISHED
netstat -rn #查看路由表(网关)

例子:

[root@localhost etc]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eno16777736
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eno16777736
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eno16777736
192.168.122.0   0.0.0.0         255.255.255.0   U         0 0          0 virbr0

上面的例子解析,0.0.0.0代表,除了发给:169.254.0.0192.168.1.0192.168.122.0之外的数据,都会发给192.168.1.1这个网关,网关的作用是默认路由的作用。

netstat -rn相似的命令就是:route -n

6.域名解析命令
进行域名与IP地址解析

nslookup [主机名或者IP]     
> server
aircraftdeMacBook-Pro:etc ldl$ nslookup
> server
Default server: 192.168.1.1
Address: 192.168.1.1#53
#查看本机DNS服务器

7.查看网络连接是否通畅

ping

8.telnet命令
远程管理与端口探测命令:

telnet [域名或IP] [端口]   

eg:telnet 192.168.0.252 80

telnet传递数据是明文传递。

远程管理建议使用ssh,不建议使用telnet。

9.traceroute
路由追踪

traceroute [选项] IP或域名

选项:
-n:使用IP,不适用域名,速度更快。

eg:

aircraftdeMacBook-Pro:etc ldl$ traceroute -n www.baidu.com
traceroute: Warning: www.baidu.com has multiple addresses; using 180.97.33.108
traceroute to www.a.shifen.com (180.97.33.108), 64 hops max, 52 byte packets
 1  192.168.1.1  2.143 ms  1.361 ms  0.780 ms
 2  100.64.0.1  6.239 ms  2.774 ms  3.115 ms
 3  182.150.18.221  3.909 ms *  4.843 ms
 4  171.208.199.69  6.890 ms  5.715 ms
    171.208.199.65  3.785 ms
 5  202.97.29.245  36.884 ms
    202.97.29.241  37.601 ms
    202.97.29.245  36.876 ms
 6  202.102.69.186  37.668 ms
    202.102.69.190  101.773 ms
    202.102.69.186  38.005 ms
 7  * * *
 8  180.97.32.166  34.516 ms
    180.97.32.10  37.944 ms
    180.97.32.158  54.313 ms
 9  * * *
10  * * *

如果出现了***,是路由器禁Ping的原因。

10.wget命令
下载命令。

wget http://soft.vpser.net/lnmp/lnmp1.1-full.tar.gz

你可能感兴趣的:(Linux网络基础-网络相关常用命令)