网络管理
一、IP
地址分类和TCP/IP
四层模型
1、什么是网络
通过通信介质和通信设备 将分布不同地点的两台或多台计算机,经过相应的程序实现通信。
网络的功能:
数据通信:利用网络传播各种信息和数据。
资源共享:计算机中有很多大型的高级的计算机,每个用户可能都没有
硬件资源共享: 远程桌面连接: 将自己的本地磁盘分享给其他用户。
软件资源共享: 将文件上传到FTP :用户可以共同下载
2.、OSI七层参考模型,TCP/IP四层参考模型
七层模型,称OSI(Open System Interconnection)参考模型,是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系
OSI—(Open System Interconnection)开放式系统互联
ISO—(International Organization for Standardization)国际标准化组织
IOS—(Internetwork Operating System)思科网络设备的操作维护系统
分层作用:方便管理,方便排错
物理层:
电气信号涉及介质:蓝牙、无线、光纤、网线
七层模型优点:
1、把复杂的网络划分成为更容易管理的层(将整个庞大而复杂的问题划分为若干个容易处理的小问题)
2、没有一个厂家能完整的提供整套解决方案和所有的设备,协议.
3、独立完成各自该做的任务,互不影响
分工明确,上层不关心下层具体细节
分层同样有益于网络排错
功能与代表设备
分层 | 名字 | 功能 | 工作在该层的设备 |
---|---|---|---|
7 | 应用层 | 提供用户界面 | QQ,IE 。应用程序 |
6 | 表示层 | 表示数据,进行加密等处理 | |
5 | 会话层 | 将不同应用程序的数据分离 | |
4 | 传输层 | 提供可靠或不可靠的传输,在重传前执行纠错 | 防火墙 |
3 | 网络层 | 提供逻辑地址,路由器使用它们来选择路径 | 三层交换机、路由器 |
2 | 数据链路层 | 将分组拆分为字节,并讲字节组合成帧,使用MAC地址提供介质访问,执行错误检测,但不纠错 | 二层交换机,网卡 |
1 | 物理层 | 在设备之间传输比特,指定电平,电缆速度和电缆针脚 | 集线器 |
3、 IP地址
IPV4----32bit 40亿
IPV6---128bit 无限
MAC---48bit 唯一 00:0c:29:04:58:d9
子网掩码--- 255.255.255.255
ip地址:192.168.52.160
路由:查看路由表,选路过程
路由器:实现路由的功能,它的主要功能是连接不同的网段
网关:大门---》出口
4、 ABCDE网络地址分类
1. A类(广域网)
A`类范围:`0.0.0.0` ~ `127.255.255.255`
`00000000 00000000 00000000 00000000` ~ `01111111 11111111 11111111 11111111
A
类理论上总共可以给21
亿台设备分配,给广域网用(公网IP
),公网IP
是不能重复的, 由于公IP
网是全球唯一的,因此现在讨论的IP
不够用,说的是公网IP
不够用的问题, 因为现在有大量的设备,因为各种的原因想直接接入公网,而不是屈居在局域网和城域网下,所以导致了A
类地址的紧张
2. B类(城域网,就是大型局域网)
B`类范围:`128.0.0.0` ~ `191.255.255.255`
`10000000 00000000 00000000 00000000` ~ `10111111 11111111 11111111 11111111
B
类理论上,可以给10
亿台设备分配IP
,B
类是给城域网用的,而且可以重复使用,不担心不够的问题。
3. C类(局域网)
C`类范围:`192.0.0.0` ~ `223.255.255.255`
`11000000 00000000 00000000 00000000` ~ `11011111 11111111 11111111 11111111
由于局域网地址可以被不同局域网复用,因此也不需要担心不够用的问题。
4. D、E类(特殊地址)
-
D
类,广播地址:后面介绍什么是广播地址 -
E
类,科教使用的特殊IP
:使用的是很多保留IP
地址,前面讲ABC
类时, 事实上在ABC
类里有很多的保留地址,这些保留留给了E
类来使用。
A类
A`类实际可用范围:`1.0.0.0` ~ `9.255.255.255` 和 `11.0.0.0` ~ `126.255.255.255
保留地址 0.0.0.0
~ 0.255.255.255
:保留,用作特殊用途。 10.0.0.0
~ 10.255.255.255
:保留,用作私有地址。 127.0.0.0
~ 127.255.255.255
:保留,用于做本机回环测试。
B类
B类实际可用范围:
128.0.0.0
~ 191.255.255.255
保留地址:
172.16.0.0
~ 172.31.255.255
:保留,用于私有网络(私有IP地址范围)
169.254.0.0
~ 169.254.255.255
:保留,用于自动配置(例如 DHCP 失败时的自动分配)
二、网络协议
1、 常用协议
-
ARP (Address Resolution Protocol):地址解析协议,将IP地址映射到MAC地址,用于在局域网中查找设备的物理地址。
-
DNS (Domain Name System):域名解析系统,将域名转换为IP地址,使得人们可以通过可读的域名访问互联网资源。
-
SNMP (Simple Network Management Protocol):简单网络管理协议,用于管理和监控网络设备,收集设备状态信息。
-
DHCP (Dynamic Host Configuration Protocol):动态主机配置协议,自动分配IP地址、子网掩码、网关等网络配置给设备,简化网络管理。
-
FTP (File Transfer Protocol):文件传输协议,用于在客户端和服务器之间传输文件。
-
HTTP (Hypertext Transfer Protocol):超文本传输协议,用于在Web浏览器和Web服务器之间传输超文本。
-
HTTPS (Secure Hypertext Transfer Protocol):安全超文本传输协议,对HTTP的加密和安全版本,用于保护数据传输安全。
-
ICMP (Internet Control Message Protocol):Internet控制消息协议,用于传输网络错误消息和控制信息,如 ping 命令。
-
SMTP (Simple Mail Transfer Protocol):简单邮件传输协议,用于发送和传递电子邮件。
-
TELNET Protocol:虚拟终端协议,远程登录协议,允许用户通过网络登录到远程主机并执行操作。
-
TFTP (Trivial File Transfer Protocol):简单文件传输协议,用于小文件传输,常用于网络设备的固件更新。
-
UDP (User Datagram Protocol):用户数据报协议,无连接的传输协议,适用于需要快速传输的应用。
-
TCP (Transmission Control Protocol):传输控制协议,面向连接的可靠传输协议,提供错误检测和数据重传等机制,用于大部分应用层通信。
2、TCP/IP簇
TCP/IP协议是一个协议的集合,它包括了多个子协议,每个子协议都有特定的功能和用途。以下是你提到的各个子协议的简要解释:
-
HTTP (Hypertext Transfer Protocol):用于在Web浏览器和Web服务器之间传输超文本,支持网页浏览。
-
FTP (File Transfer Protocol):用于在客户端和服务器之间传输文件,支持文件上传和下载。
-
TFTP (Trivial File Transfer Protocol):用于小文件传输,常用于网络设备的固件更新。
-
Telnet:远程登录协议,允许用户通过网络登录到远程主机并执行操作。
-
SNMP (Simple Network Management Protocol):用于管理和监控网络设备,收集设备状态信息。
-
TCP (Transmission Control Protocol):面向连接的传输协议,提供可靠的、有序的数据传输。
-
UDP (User Datagram Protocol):非连接的传输协议,适用于需要快速传输的应用,不保证数据的可靠性。
-
IP (Internet Protocol):Internet协议,用于在网络中传输数据包,是TCP/IP协议族的核心。
-
ICMP (Internet Control Message Protocol):用于传输网络错误消息和控制信息,如 ping 命令。
-
ARP (Address Resolution Protocol):地址解析协议,将IP地址映射到MAC地址。
-
RARP (Reverse Address Resolution Protocol):反向地址解析协议,将MAC地址映射到IP地址。
这些子协议共同构成了TCP/IP协议族,支持了现代互联网通信的各种功能和需求。不同的子协议在不同的层次上工作,协同完成了数据传输、网络管理、远程访问等多种任务。
3、TCP和UDP
TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,在收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,
第一次对话: 主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”第二次对话: 主机B向主机A发送同意连接和要求同步的数据包:“可以,你什么时候发?第三次对话: 主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”总结:三次“对话”的目的是使数据包的发送和接收同步(同步就是两台主机一个在发送,一个在接收,协调工作),经过三次“对话”之后,主机A才向主机B正式发送数据。
UDP(User Data Protocol,用户数据报协议)UDP是一个非连接的协议,传输数据之前源端和终端不建立连接.UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态表;例如:我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息能够及时反馈回来,那么网络就是通的。总结:UDP传输的速度很快,但是不会保障是否被成功接收
总结--TCP与UDP的区别:
1.基于连接与无连接;
2.对系统资源的要求(TCP较多,UDP少);
3.UDP程序结构较简单;
4.TCP保证数据正确性,UDP可能丢包;TCP保证数据顺序,UDP不保证。
4、端口号
TCP和UDP 采用16位的端口号来识别应用程序
TCP/IP协议簇里面的临时分配1024-5000之间的
端口号大于50000以上的是为其他服务保留的
部分TCP端口号
21 | ftp | 文件传输服务 |
---|---|---|
22 | ssh | 安全远程连接服务 |
23 | telnet | 远程连接服务 |
25 | smtp | 电子邮件服务 |
53 | DNS | 域名解析服务 |
80 | http | web服务 |
443 | https | 安全web服务 |
部分UDP端口号
69 | tftp | 简单文件传输协议 |
---|---|---|
123 | ntp | 时间同步服务 |
161 | snmp | 简单网络管理 |
/etc/services
文件可以查看所有的端口号
5、netstat
netstat
命令用于显示网络连接状态和统计信息。以下是常用的 netstat
命令参数和语法:
netstat [OPTIONS]
常用参数:
-
-t, --tcp: 显示TCP连接信息。
-
-u, --udp: 显示UDP连接信息。
-
-n, --numeric: 显示IP地址和端口号而不进行名称解析。
-
-a, --all: 显示所有连接(监听和非监听)。
-
-l, --listening: 只显示监听状态的连接。
-
-r, --route: 显示路由表。
-
-s, --statistics: 显示各种网络统计信息。
-
-p, --programs: 显示与连接关联的程序/进程信息。
-
-c, --continuous: 连续显示,类似于实时更新。
-
-i, --interfaces: 显示网络接口信息。
-
-h, --help: 显示帮助信息。
示例用法:
-
显示所有TCP连接:
netstat -t
-
显示所有UDP连接:
netstat -u
-
显示监听状态的端口:
netstat -l
-
显示所有网络接口信息:
netstat -i
-
显示路由表:
netstat -r
-
显示网络统计信息:
netstat -s
-
显示每个连接对应的进程信息:
netstat -p
-
连续显示网络状态:
netstat -c
例:显示所有出于监听的tcp和udp端口
netstat -tuln
-
Proto: 连接协议的种类,通常是TCP(Transmission Control Protocol)或UDP(User Datagram Protocol)。
-
Recv-Q: 从远程主机发来的数据字节数,表示等待发送给本地应用程序的数据量。
-
Send-Q: 不是由本地产生的字节数,表示等待本地应用程序读取的数据量。
-
Local Address: 本地的IP地址,可以是IP,也可以是主机名。
-
Foreign Address: 远程主机的IP地址。
-
STATE:
-
CLOSED: 初始(无连接)状态。
-
LISTEN: 侦听状态,等待远程机器的连接请求。
-
SYN_SEND: 在TCP三次握手期间,主动连接端发送了SYN包后,进入SYN_SEND状态,等待对方的ACK包。
-
SYN_RECV: 在TCP三次握手期间,主动连接端收到SYN包后,进入SYN_RECV状态。
-
ESTABLISHED: 完成TCP三次握手后,主动连接端进入ESTABLISHED状态。此时,TCP连接已经建立,可以进行通信。
-
FIN_WAIT_1: 在TCP四次挥手时,主动关闭端发送FIN包后,进入FIN_WAIT_1状态。
-
FIN_WAIT_2: 在TCP四次挥手时,主动关闭端收到ACK包后,进入FIN_WAIT_2状态。
-
TIME_WAIT: 在TCP四次挥手时,主动关闭端发送了ACK包之后,进入TIME_WAIT状态,等待最多MSL时间,让被动关闭端收到ACK包。
-
CLOSING: 在TCP四次挥手期间,主动关闭端发送了FIN包后,没有收到对应的ACK包,却收到对方的FIN包,此时,进入CLOSING状态。
-
CLOSE_WAIT: 在TCP四次挥手期间,被动关闭端收到FIN包后,进入CLOSE_WAIT状态。
-
LAST_ACK: 在TCP四次挥手时,被动关闭端发送FIN包后,进入LAST_ACK状态,等待对方的ACK包。
-
扩展:MSL(Maximum Segment Lifetime)是指在TCP协议中,数据分段(segment)在网络中的最长存活时间。每个TCP分段都包含一个生存时间(TTL,Time to Live)字段,表示数据在网络中能够存在的时间。一旦一个TCP分段的TTL字段的值减为0,它将被路由器丢弃。
MSL是一个连接的最大持续时间,即在连接中,一个TCP分段在网络中最多存在的时间,通常用于防止已关闭的连接的分段在网络中永远不会消失。在TCP的四次握手中,一旦最后一个ACK包被发送,连接的一方会进入TIME_WAIT状态,该状态将会持续2 * MSL的时间,以确保在网络中的所有分段都已消失。这有助于确保连接正常关闭,同时防止在网络中出现残留的分段。
MSL的值通常由操作系统设置,一般默认是30秒左右
案例:服务器上有大量的TIME_WAIT链接,如何优化TCP,快速释放TCP连接?
修改MSL时间:
[root@fishman-160 ~]# cat /proc/sys/net/ipv4/tcp_fin_timeout
60#默认60秒
[root@localhost ~]# echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout #修改为30秒
[root@localhost ~]# cat !$
cat /proc/sys/net/ipv4/tcp_fin_timeout
30
6、ping命令
ping
命令用于测试主机之间的连通性,并且可以测量往返时间(Round-Trip Time,RTT)。下面是 ping
命令的常用参数和用法:
ping [options] host
常用选项:
-
-c count
: 指定发送的 ping 包数量。 -
-i interval
: 指定发送 ping 包的间隔时间(以秒为单位)。 -
-s packetsize
: 设置 ping 包的大小(字节)。 -
-t ttl
: 设置 TTL(Time To Live),即数据包的生存时间。 -
-W timeout
: 指定等待响应的超时时间(以秒为单位)。 -
-q
: 静默模式,只显示汇总信息,不显示详细输出。 -
-4
: 仅使用 IPv4 地址。 -
-6
: 仅使用 IPv6 地址。
用法示例:
-
发送指定数量的 ping 包并显示详细信息:
ping -c 5 google.com
-
设置 ping 包的间隔时间为 1 秒,并显示汇总信息:
ping -i 1 -q google.com
-
发送小包并显示 TTL 信息:
ping -c 3 -s 56 -t 10 google.com
-
仅使用 IPv4 进行 ping 测试:
ping -4 google.com
-
仅使用 IPv6 进行 ping 测试:
ping -6 ipv6.google.com
ping
命令在网络故障排除和测试主机连通性时非常有用。请注意,一些网络环境可能会限制或过滤 ICMP 流量,因此在某些情况下,ping
命令可能无法正常工作。
7、配置网络和ip
-
使用
NetworkManager
工具:NetworkManager 是 CentOS 8 默认的网络管理工具,提供了图形界面和命令行方式来配置网络。以下是一些常用的 NetworkManager 命令:
-
查看网络连接列表:
nmcli connection show
-
创建一个以太网连接:
nmcli connection add type ethernet con-name "MyEthernet" ifname eth0
-
设置静态 IP 地址:
nmcli connection modify "MyEthernet" ipv4.method manual ipv4.addresses "192.168.1.10/24" ipv4.gateway "192.168.1.1"
-
启用连接:
nmcli connection up "MyEthernet"
-
关闭连接:
nmcli connection down "MyEthernet"
-
显示网络设备状态
nmcli device status
你也可以使用
nmtui
命令进入文本界面的网络配置工具。 -
-
修改配置文件:
CentOS 8 的网络配置文件位于
/etc/sysconfig/network-scripts/
目录下。可以手动编辑这些文件来配置网络。-
配置以太网连接的 IP 地址: 编辑文件
/etc/sysconfig/network-scripts/ifcfg-eth0
,将其中的配置项修改为你需要的值,例如:DEVICE=eth0 BOOTPROTO=static IPADDR=192.168.1.10 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 ONBOOT=yes
-
配置 DNS 服务器: 编辑文件
/etc/sysconfig/network-scripts/ifcfg-eth0
,添加以下行:DNS1=8.8.8.8 DNS2=8.8.4.4
-
启用或禁用网络接口: 编辑文件
/etc/sysconfig/network-scripts/ifcfg-eth0
,将ONBOOT
设置为yes
或no
。
配置文件修改后,你需要重启网络服务或重启计算机以使更改生效:
sudo systemctl restart NetworkManager
这只是网络配置的基本方法,实际操作中可能涉及更多细节和设置。需根据你的网络环境和需求进行相应的配置。
-
8、修改主机名
[root@fishman-160 ~]# vim /etc/hostname
9、查看DNS
[root@fishman-160 ~]# vim /etc/resolv.conf #CentOS6后都在网卡配置文件中配置
10、hosts
配置
[root@fishman-160 ~]# vim /etc/hosts
11、查看路由表
[root@fishman-160 ~]# route -n
这是一个经典的Linux网络路由表。每一行表示一个路由规则,以下是每列的解释:
-
Destination: 目标地址,表示要到达的目标网络或主机。0.0.0.0 表示默认路由,即匹配不上其他规则时的走向。
-
Gateway: 网关地址,表示该目标地址应该通过哪个网关进行访问。在这里,192.168.52.2 是默认路由的网关。
-
Genmask: 子网掩码,用于确定网络地址和主机地址的部分。255.255.255.0 表示一个典型的/24 子网掩码,表示前24位为网络地址,后8位为主机地址。
-
Flags: 表示一些标志,如 UG 表示这是一个网关的规则,U 表示路由是有效的,G 表示这是一个网关路由,H 表示目标为主机。
-
Metric: 表示该规则的优先级,值越小越优先。
-
Ref: 表示该规则被引用的次数。
-
Use: 表示该规则被使用的次数。
-
Iface: 表示出站数据应该通过哪个网络接口发送。
根据上述的路由表,可以看到:
-
所有发送到目标为 192.168.52.0/24 的数据都将通过 ens33 网络接口发送。
-
所有发送到目标为 192.168.122.0/24 的数据都将通过 virbr0 虚拟网络接口发送。
-
默认路由(0.0.0.0)的数据将通过网关 192.168.52.2(你的主机的默认网关)发送。
-
增加路由规则:
sudo ip route add <目标地址/子网掩码> via <网关地址> dev <网络接口>
例如:
sudo ip route add 192.168.100.0/24 via 192.168.1.1 dev eth0
-
删除路由规则:
sudo ip route del <目标地址/子网掩码>
例如:
sudo ip route del 192.168.100.0/24
-
修改路由规则: 删除原有的路由规则,然后重新添加修改后的规则。
-
查询路由表:
-
使用
ip route
命令显示完整的路由表。 -
使用
ip route list
等效于ip route
。 -
使用
ip route show
等效于ip route
。
-
12、路由跟踪
可以使用 traceroute
命令来跟踪数据包在网络中的路由路径。traceroute
会显示数据包从本地主机到目标主机的传输路径,以及在每一跳的延迟时间。
使用方法如下:
traceroute <目标主机名或IP地址>
例如:
traceroute www.google.com
该命令会输出每一跳的IP地址、主机名、延迟时间等信息
13、arping
arping
是一种网络工具,用于发送ARP
请求和接收 ARP
响应,从而确定本地网络上的主机是否可达。ARP(Address Resolution Protocol)用于将 IP 地址解析为 MAC 地址,以便在局域网中进行通信,和ping
的最大区别是arping
用于局域网。
arping
的作用在于:
-
主机可达性检测:通过发送 ARP 请求并等待响应,可以检测局域网中其他主机是否在线和可达。
-
解决 IP 地址与 MAC 地址的映射:
arping
通过 ARP 请求来获取目标主机的 MAC 地址,从而解决 IP 地址到 MAC 地址的映射关系。 -
网络故障排除:当出现网络通信问题时,可以使用
arping
来验证本地网络上是否存在主机不可达的情况。
基本的 arping
语法如下:
arping -c <次数> -I <网络接口> <目标IP>
其中:
-
-c
:指定发送 ARP 请求的次数。 -
-I
:指定要发送 ARP 请求的网络接口。 -
<目标IP>
:指定目标主机的 IP 地址。
arping
发送 ARP 请求后,目标主机如果可达,会回复一个 ARP 响应,然后 arping
会显示响应时间。如果目标主机不可达,arping
会显示一些相关信息,如请求超时等。
通过arping
命令可以发现是否存在arp
欺骗
例:有主机冒充网关192.168.52.2
14、tcpdump
tcpdump
是一个强大的网络抓包工具,用于捕获网络流量并进行分析。它可以用于监控、调试和分析网络问题。
以下是一些 tcpdump
常用的命令参数:
-
-i <interface>: 指定要捕获数据包的网络接口。例如,
-i eth0
表示在接口 eth0 上捕获数据包。 -
-n: 不进行主机名解析,只显示 IP 地址。
-
-nn: 不进行主机名和端口号的解析,只显示数字形式的 IP 地址和端口号。
-
-c <count>: 指定捕获的数据包数量,达到指定数量后会自动停止捕获。
-
-s <snaplen>: 设置每个数据包捕获的最大长度(以字节为单位)。默认情况下,数据包会完整捕获,但你可以使用该参数限制捕获的数据包长度。
-
-X: 显示数据包的十六进制和 ASCII 格式内容。
-
-v, -vv, -vvv: 增加显示详细程度的级别,多个 v 会增加详细程度。
-
-A: 显示数据包的 ASCII 内容。
-
-q: 以更安静的方式显示输出,只显示关键信息。
-
-r <file>: 从指定的文件中读取数据包进行分析,而不是实时捕获。
-
-w <file>: 将捕获的数据包写入到指定文件中,可以后续使用
-r
参数进行分析。 -
-F <file>: 从指定的文件中读取过滤规则。
-
-f <expression>: 使用指定的 BPF 过滤表达式来过滤捕获的数据包。
-
port <port>: 指定捕获特定目标或源端口号的数据包。
-
host <host>: 指定捕获特定目标或源主机的数据包。
-
src <host>: 指定捕获特定源主机的数据包。
-
dst <host>: 指定捕获特定目标主机的数据包
下面是一些基本的 tcpdump
使用示例:
-
捕获所有流量:
sudo tcpdump -i <interface>
这会捕获指定接口(如eth0)上的所有网络流量。
-
捕获特定端口的流量:
sudo tcpdump -i <interface> port <port_number>
例如,要捕获80端口(HTTP)的流量:
sudo tcpdump -i eth0 port 80
-
保存到文件:
sudo tcpdump -i <interface> -w <output_file>
这将捕获指定接口上的流量并将其保存到指定的输出文件中。
-
捕获特定源/目标IP的流量:
sudo tcpdump -i <interface> host <ip_address>
例如,要捕获与特定IP地址通信的流量:
sudo tcpdump -i eth0 host 192.168.1.1
-
指定数据包数量:
sudo tcpdump -i <interface> -c <packet_count>
这将捕获指定数量的数据包后停止。
-
显示数据包内容(16进制和ASCII):
sudo tcpdump -i <interface> -X
这将以16进制和ASCII形式显示捕获的数据包内容。
-
指定过滤器:
sudo tcpdump -i <interface> <filter_expression>
你可以使用过滤表达式来捕获特定条件下的数据包,如源/目标IP、端口等。
-
显示IP地址解析:
sudo tcpdump -ni <interface> -nn
例:抓取tcp
握手的前三次包
-
IP 192.168.52.1.51473 > 192.168.52.160.ssh
:源IP地址 192.168.52.1 的主机通过端口 51473 向目标IP地址 192.168.52.160 的 SSH 服务发起连接。 -
Flags [S]
:这是TCP标志位,表示这是一个建立连接请求(SYN)的数据包。 -
seq 3851921429, win 64248
:序列号和窗口大小,表示数据包的序列号和窗口大小。 -
options [mss 1460, nop, uscale 8, nop, nop, sackOK]
:TCP选项字段,包括最大报文段长度(MSS)、窗口缩放选项等。 -
length
:数据包长度。 -
IP 192.168.52.160,ssh > 192.168.52.1.51473
:这是对应的响应数据包,从目标IP地址 192.168.52.160 的 SSH 服务回复给源IP地址 192.168.52.1 的主机。 -
Flags [S.]
:这是一个建立连接应答(SYN/ACK)的数据包。 -
seq 3488015611, ack 3851921430, win 29200
:序列号、确认号和窗口大小。 -
options [mss 1460, nop, nop, sackOK, nop, wscale ?]
:TCP选项字段,与前一个数据包类似。 -
ack 1, win 4186
:这是一个确认应答(ACK)的数据包,确认号为1,窗口大小为4186。 -
3 packets captured
:捕获了3个数据包。
15、watch
watch
命令用于周期性地执行指定的命令,并在终端上显示其输出。这对于监视命令的实时输出非常有用,例如查看日志文件、监视系统性能、跟踪文件变化等。
watch
命令的基本语法如下:
watch [选项] 命令
常见选项:
-
-n
或--interval
:指定刷新间隔的秒数,即多长时间执行一次命令,默认为 2 秒。 -
-d
或--differences
:高亮显示输出中发生变化的部分,非常适用于监视日志文件。 -
-t
或--no-title
:不在顶部显示标题信息。 -
-b
或--beep
:当命令输出发生变化时,发出蜂鸣声。
示例用法:
-
查看系统每隔 2 秒的负载情况:
watch -n 2 uptime
-
查看指定日志文件的更新情况:
watch -n 1 tail /var/log/syslog
-
监视文件系统空间使用情况:
watch df -h
-
监视正在运行的进程:
watch ps aux
-
监视磁盘读写情况:
watch iostat -d 1
请注意,你可以通过按下 Ctrl+C
来停止 watch
命令的执行。watch
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤