Linux网络基础

# 一、常用网络命令

##  1.1 ping

### 1.1.1 ping命令作用及用法

`ping`命令用于测试网络连通性,它会向指定的主机发送ICMP回显请求(也称为Ping请求),并接收该主机返回的ICMP回显应答。通过检查发送和接收的数据包数量以及往返时间(RTT)来判断主机之间的连通性。

`ping`命令的基本用法为:`ping <IP地址或域名>`,例如:

```ABAP
ping www.google.com
```

### 1.1.2 ping命令参数的含义

`ping`命令的常用参数如下:

| 参数              | 含义                                                         |
| ----------------- | ------------------------------------------------------------ |
| `-c <次数>`       | 指定发送的回显请求次数。默认情况下,`ping`命令会一直发送请求,直到用户手动停止。 |
| `-i <间隔时间>`   | 指定发送回显请求的间隔时间(单位为秒)。默认情况下,间隔时间为1秒。 |
| `-s <数据包大小>` | 指定发送回显请求时的数据包大小(单位为字节)。默认情况下,数据包大小为56字节。 |
| `-t <TTL>`        | 指定数据包的生存时间(Time To Live,TTL),即数据包能经过的最大路由器数量。默认情况下,TTL为64。 |

### 1.1.3 ping命令输出及解释

`ping`命令的输出包含以下信息:

- 发送的回显请求的序号(seq)和时间戳(timestamp)
- 接收到的回显应答的序号(seq)和时间戳(timestamp)
- 发送和接收数据包的数量
- 往返时间(RTT)
- TTL值


## 1.2 traceroute

### 1.2.1 traceroute命令的作用及用法

traceroute 命令使用发送的 UDP 数据包,每个数据包上面的 TTL 字段递增,直到到达目的主机。每当 TTL 达到下一跳路由器时,该路由器会将数据包丢弃,并发送一个 ICMP 时间戳回显应答消息(TTL 超时)。traceroute 利用此消息确定它到达了哪个路由器。使用此方法,traceroute 可以确定路由路径上的所有路由器,以及发送和接收响应消息所需的时间。

```shell
[root@localhost ~]# yum -y install traceroute
```

### 1.2.2 traceroute命令参数的含义

以下是`traceroute`命令常用的参数及其含义:

| 参数 | 含义                                                         |
| ---- | ------------------------------------------------------------ |
| `-I` | 使用 ICMP 协议进行探测,默认为 UDP 协议                      |
| `-p` | 使用指定端口号发送UDP数据包                                  |
| `-q` | 设置发送数据包的个数                                         |
| `-r` | 忽略默认的源路由,直接发送数据包到目标主机                   |
| `-w` | 设置每个数据包的超时时间                                     |
| `-U` | 使用 UDP 数据包而不是 [ICMP](https://so.csdn.net/so/search?q=ICMP&spm=1001.2101.3001.7020) 回显请求。 |
| `-T` | 使用 TCP SYN 包而不是 UDP 数据包。                           |

局限性:

```shell
在某些网络环境下,traceroute 可能会被防火墙或路由器配置阻止。
由于路由器可能使用不同的算法来选择路由,因此在不同的路由器上运行的 traceroute 可能会显示不同的路径。
在某些情况下,traceroute 可能无法识别中间路由器的所有 IP 地址,因为路由器可能配置为使用不同的 IP 地址响应 ICMP TTL 超时消息。
```
## 1.3 netstat    

### 1.3.1 netstat命令的作用及用法

`netstat`命令是一种用于查看网络状态和统计信息的命令行工具。它可以显示与计算机上正在进行的网络连接,以及在这些连接中发送和接收的数据量。

### 1.3.2 netstat命令参数的含义

`netstat`命令有许多可用的选项和参数。以下是其中一些常用的选项和参数:

| 选项 | 描述                                                 |
| ---- | ---------------------------------------------------- |
| -a   | 显示所有网络连接,包括已建立的连接和正在监听的连接。 |
| -t   | 仅显示TCP连接。                                      |
| -u   | 仅显示UDP连接。                                      |
| -n   | 使用IP地址而不是域名显示网络连接。                   |
| -p   | 显示与每个网络连接相关的进程信息。                   |
| -r   | 显示路由表。                                         |
| -s   | 显示网络统计信息,例如传输的数据包数量和错误数量。   |

### 1.3.3 netstat命令的输出及解释

`netstat`命令的输出分为两部分:路由表和网络连接列表。以下是`netstat`命令的输出示例:

```ABAP
cssCopy codeKernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    600    0        0 wlan0
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     600    0        0 wlan0

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 192.168.1.2:22          192.168.1.3:49548       ESTABLISHED 1421/sshd: pi [priv
tcp6       0      0 ::1:631                 :::*                    LISTEN      1082/cupsd          
```

路由表部分显示了系统的路由表。其中包含了所有目标地址、网关、网络掩码、标志、度量值、参考数和接口。下面是各列的解释:

| 列名        | 描述                                 |
| ----------- | ------------------------------------ |
| Destination | 目标网络地址。                       |
| Gateway     | 下一跳网关地址。                     |
| Genmask     | 目标网络地址的子网掩码。             |
| Flags       | 路由标志。                           |
| Metric      | 路由到目标网络的距离,即路由优先级。 |
| Ref         | 被路由表中路由引用的次数。           |
| Use         | 到达目标网络的数据包数。             |
| Iface       | 路由通过的网络接口。                 |

网络连接列表部分显示了当前活动的网络连接,包括服务器和已建立的连接。下面是各列的解释:

| 列名             | 描述                     |
| ---------------- | ------------------------ |
| Proto            | 网络协议(例如TCP或UDP) |
| Recv-Q           | 等待接收的数据大小       |
| Send-Q           | 等待发送的数据大小       |
| Local Address    | 本地IP地址和端口号       |
| Foreign Address  | 外部IP地址和端口号       |
| State            | 连接状态                 |
| PID/Program name | 程序名和PID              |

## 1.4 ifconfig

### 1.4.1 ifconfig命令的作用及用法

`ifconfig` 命令用于配置和显示Linux操作系统中的网络接口参数,包括IP地址、MAC地址、子网掩码等信息。

该命令通常需要以root权限运行。

### 1.4.2 ifconfig命令参数的含义

下面是 `ifconfig` 命令中一些常用的参数:

| 参数      | 作用                       |
| --------- | -------------------------- |
| -a        | 显示所有接口,包括未激活的 |
| -s        | 显示摘要信息               |
| up        | 激活接口                   |
| down      | 关闭接口                   |
| inet addr | 设置或显示IPv4地址         |
| netmask   | 设置或显示子网掩码         |
| hw ether  | 设置或显示MAC地址          |

### 1.4.3 ifconfig命令的输出及解释

`ifconfig` 命令的输出结果包括以下信息:

- 接口名字:网络接口的名称。
- MAC地址:本机网络接口的物理地址。
- IPv4地址:本机网络接口的IPv4地址。
- 子网掩码:本机网络接口的子网掩码。
- 广播地址:本机网络接口的广播地址。
- MTU:网络接口的最大传输单元。
- 网络状态:网络接口的状态。

以下是 `ifconfig` 命令的一个示例输出:

```ABAP
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.2  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::20c:29ff:fe6b:15c9  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:6b:15:c9  txqueuelen 1000  (Ethernet)
        RX packets 712512  bytes 131987191 (125.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 530847  bytes 55087625 (52.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
```

其中,`eth0` 是网络接口名字,`UP,BROADCAST,RUNNING,MULTICAST` 表示网络接口的状态,`192.168.1.2` 是IPv4地址,`255.255.255.0` 是子网掩码,`00:0c:29:6b:15:c9` 是MAC地址。

### 1.4.4 ifconfig命令的常见用途

`ifconfig` 命令的常见用途包括:

- 显示网络接口信息
- 设置网络接口的IP地址、子网掩码、MAC地址等
- 启动或关闭网络接口

示例:

```shell
[root@localhost ~]# ifconfig ens32 down
[root@localhost ~]# ifconfig ens32 up
[root@localhost ~]# ifconfig ens32
[root@localhost ~]# ifconfig ens33 hw ether 00:0c:29:44:55:66
[root@localhost ~]# ifconfig eth0 192.168.1.2 netmask 255.255.255.0 up
[root@localhost ~]# ifconfig ens33:1 192.168.1.250 netmask 255.255.255.0 broadcast 192.168.1.255 up
```

## 1.5 nslookup

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值