使用 YUM 仓库和 NFS 共享存储的详细指南

使用 YUM 仓库和 NFS 共享存储的详细指南

文章目录

  • 使用 YUM 仓库和 NFS 共享存储的详细指南
    • 一、YUM 仓库服务
      • 1.1 YUM 介绍
      • 1.2 YUM 源的提供方式
        • 1.2.1 配置本地源仓库
        • 1.2.2 配置 FTP 源
        • 1.2.3 配置 HTTP 源
      • 1.3 网络源配置
        • 1.3.1 清华源
        • 1.3.2 163 源
        • 1.3.3 阿里云源
    • 1.4 YUM 命令
      • 1.5 拓展
        • 1.5.1 本地源、FTP源和HTTP源的区别、联系、特点和使用场景
          • 本地源
          • FTP源
          • HTTP源
          • 联系
          • 总结
    • 二、NFS 共享存储
      • 2.1 NFS 基本概述
      • 2.2 为什么要使用共享存储
      • 2.3 NFS 应用场景
      • 2.4 NFS 实现原理
        • NFS 工作流程
        • 详细解释
      • 2.5 NFS 文件共享系统实验步骤
        • 服务器端配置
        • 客户端配置
      • 2.6 NFS 相关命令
      • 2.7 拓展
        • 2.7.1 NFS 集群架构和负载均衡
        • 2.7.2 NFS 集群架构
    • 三、tcpdump 抓包工具
      • 3.1 tcpdump 简介
      • 3.2 tcpdump 常见参数
      • 3.3 tcpdump 过滤规则
        • 3.3.1 基于 IP 地址/网段过滤
        • 3.3.2 基于端口过滤
        • 3.3.3 基于协议过滤
      • 3.4 tcpdump 使用示例
        • 3.3.2 基于端口过滤
        • 3.3.3 基于协议过滤
      • 3.4 tcpdump 使用示例

一、YUM 仓库服务

1.1 YUM 介绍

YUM (Yellowdog Updater, Modified) 是一个基于 RPM 包管理器的高层次软件包管理工具。YUM 使得系统管理员能够方便地安装、更新和管理 RPM 软件包,并且自动处理软件包的依赖关系。

  • 自动解决依赖:YUM 可以自动查找并安装所需的依赖包。
  • 简化管理:通过使用 YUM,管理员无需手动下载和安装每个 RPM 包,使得系统管理变得更加轻松。
  • 集中管理:YUM 可以通过配置本地或远程的仓库服务器,使得软件包的管理更加集中和高效。

YUM 的前身是 YUP(Yellowdog Updater)。YUM 是由杜克大学改进和发展而来,目前广泛应用于各种 Linux 发行版中。

1.2 YUM 源的提供方式

YUM 源是存放软件包的地方,可以是本地目录、FTP 服务器、HTTP 服务器或其他远程服务器。

1.2.1 配置本地源仓库

配置本地源仓库的步骤如下:

  1. 挂载光盘到 /mnt 目录

    mount /dev/sr0 /mnt
    
  2. 创建本地 YUM 源配置文件

    cd /etc/yum.repos.d/
    vim local.repo
    
  3. 添加以下内容到 local.repo 文件

    [local]
    name=local
    baseurl=file:///mnt
    enabled=1
    gpgcheck=0
    
  4. 清理 YUM 缓存并更新

    yum clean all && yum makecache
    
  5. 检查 YUM 源列表

    yum repolist
    
1.2.2 配置 FTP 源

配置 FTP 源的步骤如下:

  1. 安装 vsftpd

    yum -y install vsftpd
    
  2. 创建挂载目录并挂载光盘

    mkdir /var/ftp/centos7
    mount /dev/sr0 /mnt
    cp -rf /mnt/* /var/ftp/centos7/
    
  3. 创建 YUM 源索引文件

    mkdir /var/ftp/other
    cd /var/ftp/other/
    createrepo -g /mnt/repodata/repomd.xml ./
    
  4. 启动 vsftpd 服务

    systemctl start vsftpd
    systemctl enable vsftpd
    

    image-20240711223309677

  5. 在客户端创建远程 YUM 源配置文件

    vim /etc/yum.repos.d/centos7.repo
    
  6. 添加以下内容到 centos7.repo 文件

    [centos7]
    name=centos7
    baseurl=ftp://<FTP_SERVER_IP>/centos7
    enabled=1
    gpgcheck=1
    gpgkey=ftp://<FTP_SERVER_IP>/centos/RPM-GPG-KEY-CentOS-7
    

image-20240711224944439

image-20240711225108940

1.2.3 配置 HTTP 源

配置 HTTP 源的步骤如下:

  1. 安装 httpd

    yum -y install httpd
    
  2. 创建挂载目录并挂载光盘

    mkdir /var/www/html/centos7
    mount /dev/sr0 /mnt
    cp -rf /mnt/* /var/www/html/centos7/
    
  3. 创建 YUM 源索引文件

    createrepo /var/www/html/centos7
    
  4. 启动 httpd 服务

    systemctl start httpd
    systemctl enable httpd
    
  5. 在客户端创建远程 YUM 源配置文件

    vim /etc/yum.repos.d/centos7.repo
    
  6. 添加以下内容到 centos7.repo 文件

    [centos7]
    name=centos7
    baseurl=http://<HTTP_SERVER_IP>/centos7
    enabled=1
    gpgcheck=1
    gpgkey=http://<HTTP_SERVER_IP>/centos7/RPM-GPG-KEY-CentOS-7
    

image-20240711231806364

1.3 网络源配置

网络源可以让用户从互联网上的镜像站点下载和更新软件包。

1.3.1 清华源

配置清华源的步骤如下:

  1. 编辑 YUM 源配置文件

    vim /etc/yum.repos.d/CentOS7-Base-tsinghua.repo
    
  2. 添加以下内容

    [base]
    name=CentOS-$releasever - Base
    baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7[updates]
    name=CentOS-$releasever - Updates
    baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7[extras]
    name=CentOS-$releasever - Extras
    baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7[centosplus]
    name=CentOS-$releasever - Plus
    baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/centosplus/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    
1.3.2 163 源

配置 163 源的步骤如下:

  1. 下载并编辑 163 YUM 网络源配置文件

    wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
    vim CentOS7-Base-163.repo
    
  2. 添加以下内容

    [base]
    name=CentOS-$releasever - Base - 163.com
    baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7[updates]
    name=CentOS-$releasever - Updates - 163.com
    baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7[extras]
    name=CentOS-$releasever - Extras - 163.com
    baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7[centosplus]
    name=CentOS-$releasever - Plus - 163.com
    baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
    
1.3.3 阿里云源

配置阿里云源的步骤如下:

  1. 下载并编辑阿里云 YUM 网络源配置文件

    wget http://mirrors.aliyun.com/repo/Centos-7.repo
    vim CentOS7-Base-aliyun.repo
    
  2. 添加以下内容

     [base]name=CentOS-$releasever - Base - mirrors.aliyun.combaseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/gpgcheck=1gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7[updates]name=CentOS-$releasever - Updates - mirrors.aliyun.combaseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/gpgcheck=1gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7[extras]name=CentOS-$releasever - Extras - mirrors.aliyun.combaseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/gpgcheck=1gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7[centosplus]name=CentOS-$releasever - Plus - mirrors.aliyun.combaseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/gpgcheck=1enabled=0gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7[contrib]name=CentOS-$releasever - Contrib - mirrors.aliyun.combaseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/gpgcheck=1enabled=0gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
    

1.4 YUM 命令

以下是一些常用的 YUM 命令及其用途:

  • 安装软件包

    yum -y install 软件名
    
  • 例如安装 httpd

yum -y install httpd
  • 卸载软件包

    yum -y remove 软件名
    

    例如卸载 httpd

    yum -y remove httpd
    
  • 升级软件包

    yum -y update 软件名
    

    例如升级所有软件包:

    yum -y update
    
  • 查询软件包列表

    yum list
    

    例如查询所有已安装的软件包:

    yum list installed
    
  • 查询可用的软件包

    yum list available
    
  • 查询可升级版本的软件包

    yum list updates
    
  • 查询软件包描述信息

    yum info 软件名
    

    例如查询 httpd 的描述信息:

    yum info httpd
    
  • 根据关键词查找相关软件包

    yum search 关键词
    

    例如查找与 httpd 相关的软件包:

    yum search httpd
    
  • 查询命令属于哪个软件包

    yum whatprovides 命令
    

    例如查询 netstat 命令属于哪个软件包:

    yum whatprovides netstat
    
  • 下载软件包但不安装

    yum install 软件名 -y --downloadonly
    

    例如下载 httpd 但不安装:

    yum install httpd -y --downloadonly
    
  • 查看历史记录

    yum history
    

    例如列出最近的历史记录:

    yum history list
    

    查看某次历史记录的详细信息:

    yum history info ID
    

    撤销某次更改:

    yum history undo ID
    

    重新执行某次操作:

    yum history redo ID
    

1.5 拓展

1.5.1 本地源、FTP源和HTTP源的区别、联系、特点和使用场景
本地源

特点

  1. 存储位置:数据存储在本地计算机或内部网络的文件系统中。
  2. 访问速度:通常最快,因为数据不需要通过网络传输。
  3. 安全性:较高,受限于本地网络和系统的安全措施。
  4. 依赖性:依赖于存储设备和本地网络的稳定性。

使用场景

  1. 小型项目:在开发和测试阶段,特别是涉及敏感数据的项目。
  2. 数据备份:用于快速访问和恢复重要数据。
  3. 局域网内文件共享:在企业内部网络中共享文件。
FTP源

特点

  1. 传输协议:使用文件传输协议(FTP)进行数据传输。
  2. 访问控制:支持用户名和密码的身份验证,某些情况下支持匿名访问。
  3. 传输速度:受限于网络带宽,通常比HTTP慢。
  4. 传输模式:支持二进制和ASCII模式传输。

使用场景

  1. 大文件传输:适合传输大文件和批量文件,因为FTP可以断点续传。
  2. 备份和恢复:用于远程服务器之间的备份和恢复操作。
  3. 公共文件发布:一些公共资源库使用FTP发布大文件,例如开源软件镜像站点。
HTTP源

特点

  1. 传输协议:使用超文本传输协议(HTTP/HTTPS)进行数据传输。
  2. 访问方式:通常通过浏览器或HTTP客户端进行访问。
  3. 传输速度:较快,尤其是使用CDN时,可以优化传输速度和可靠性。
  4. 安全性:支持HTTPS,加密传输,提高安全性。

使用场景

  1. 网页和API:用于提供网页内容和Web API服务。
  2. 文件下载:适合文件下载和小文件传输,易于通过浏览器访问。
  3. 内容分发:使用CDN分发内容,提高全球用户的访问速度。
联系
  1. 文件传输:三者都用于文件和数据的传输,适用于不同场景和需求。
  2. 网络依赖:FTP源和HTTP源都依赖网络进行数据传输,本地源则不需要网络。
  3. 身份验证:本地源依赖操作系统权限,FTP和HTTP则通过各自的协议实现身份验证。
总结
  • 本地源适用于需要快速、可靠访问的本地数据,特别是在网络连接不可靠或不需要时。
  • FTP源适合大文件和批量文件的传输,尤其是需要断点续传的情况。
  • HTTP源适合通过Web提供和访问文件及服务,尤其是在需要全球分发内容时。

二、NFS 共享存储

2.1 NFS 基本概述

NFS (Network File System) 是一种基于 TCP/IP 协议的网络文件系统协议,最初由 Sun 公司开发。NFS 允许不同主机系统之间通过网络共享文件或目录。通过使用 NFS,客户端可以像访问本地文件系统一样访问远程服务器中的共享资源。

2.2 为什么要使用共享存储

共享存储在多台服务器之间共享数据和保持数据一致性方面非常重要。以下是一些具体原因:

  1. 数据共享:多台服务器可以同时访问相同的数据,从而实现数据共享。
  2. 数据一致性:确保不同服务器上的数据始终保持一致,避免数据不同步的问题。
  3. 简化管理:集中管理数据和存储资源,提高管理效率。

2.3 NFS 应用场景

NFS 共享存储常用于以下场景:

  1. 集群架构:在集群环境中,NFS 提供共享存储,避免数据不一致问题。
  2. 负载均衡:在负载均衡环境中,通过 NFS 共享存储,可以确保每台服务器访问相同的数据资源。
  3. 数据备份:通过 NFS 共享存储,可以集中管理和备份数据,简化数据管理。

2.4 NFS 实现原理

NFS 的实现依赖于 RPC(Remote Procedure Call,远程过程调用)机制。在 CentOS 7 中,需要安装 nfs-utilsrpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。

NFS 工作流程
  1. 客户端调用函数:客户端调用函数(如 Read、Write、Create、Remove 等)处理数据。
  2. 建立 TCP 连接:NFS 客户端通过 TCP 连接将请求传递给 NFS 服务器。
  3. 端口映射:NFS 服务器接收到请求后,通过 portmap 进行端口映射。
  4. 权限验证:调用 Rpc.nfsd

验证权限,再调用 Rpc.mount 验证文件权限。
5. 请求处理:NFS 服务器将请求转换为本地命令,由内核驱动硬件处理。

详细解释
  1. 客户端调用函数

    • 客户端调用不同的函数(如 Read()、Write() 等)对数据进行处理。
  2. 建立 TCP 连接

    • NFS 客户端通过 TCP/IP 的方式与 NFS 服务器建立连接。
  3. 端口映射

    • NFS 服务器首先调用 portmap 进程进行端口映射,确定请求应发送到哪个端口。
  4. 权限验证

    • NFS 服务器调用 Rpc.nfsd 进程来验证客户端是否有权限连接到 NFS 服务器。
    • 然后调用 Rpc.mount 进程来验证客户端是否有权限访问指定的文件或目录。
  5. 请求处理

    • NFS 服务器将请求转换为本地能识别的命令,传递到内核进行处理。
    • 内核驱动硬件执行相应操作,并将结果返回给 NFS 服务器,再通过网络返回给客户端。

2.5 NFS 文件共享系统实验步骤

服务器端配置
  1. 安装 nfs-utils 和 rpcbind

    yum install -y nfs-utils rpcbind
    
  2. 修改 NFS 配置文件 /etc/exports

    vim /etc/exports
    
  3. 添加以下内容

    /opt/web 192.168.10.0/24(rw,sync,no_root_squash)
    
    • rw:允许读写。
    • sync:同步写入到内存与硬盘。
    • no_root_squash:赋予客户端 root 用户本地 root 权限。
  4. 启动 NFS 和 rpcbind 服务

    systemctl start rpcbind
    systemctl start nfs
    systemctl enable rpcbind
    systemctl enable nfs
    
  5. 验证 NFS 服务

    exportfs -v
    

    刷新结果:

    exportfs -r
    

    查看共享:

    showmount -e localhost
    
客户端配置
  1. 安装 nfs-utils 和 rpcbind

    yum install -y nfs-utils rpcbind
    
  2. 验证服务器上的共享目录

    showmount -e <NFS_SERVER_IP>
    
  3. 挂载共享目录

    mount -t nfs <NFS_SERVER_IP>:/opt/web /mnt
    
  4. 验证挂载

    df -h
    
  5. 修改 /etc/fstab 实现自动挂载

    <NFS_SERVER_IP>:/opt/web /mnt nfs defaults,_netdev 0 0
    

2.6 NFS 相关命令

  • 查看 NFS 共享

    showmount -e <NFS_SERVER_IP>
    
  • 手动挂载 NFS 共享

    mount -t nfs <NFS_SERVER_IP>:/opt/web /mnt
    
  • 自动挂载配置

    <NFS_SERVER_IP>:/opt/web /mnt nfs defaults,_netdev 0 0
    
  • 强制卸载繁忙的 NFS 共享

    umount -lf /mnt
    

image-20240712033121045

image-20240712033024582

2.7 拓展

2.7.1 NFS 集群架构和负载均衡

负载均衡是一种分配工作负载或流量的技术,用来提高服务的可靠性和性能。它通过将传入的请求分配到多台服务器上,确保没有单一服务器过载,从而提高系统的整体效率和稳定性。

白话解释

假设你有一个很受欢迎的网站,有很多人同时访问。如果所有访问请求都集中到一台服务器上,这台服务器可能会因为过载而变慢甚至崩溃。为了避免这种情况,你可以使用多台服务器来共同处理这些访问请求。

负载均衡器就是一个“调度员”,它站在所有访问者和服务器之间。当有访问请求进来时,负载均衡器会根据一些规则(例如每台服务器当前的负载、响应时间等)把这些请求分配到不同的服务器上。这样,每台服务器只需要处理一部分请求,整体的处理能力和速度就会提升。

负载均衡的主要类型

  1. DNS负载均衡

    • 通过DNS服务器将不同的IP地址返回给不同的用户,从而分配流量。
  2. 硬件负载均衡

    • 使用专用硬件设备进行流量分配,通常用于大规模、高性能的企业级应用。
  3. 软件负载均衡

    • 通过软件来实现负载均衡,例如Nginx、HAProxy等。

常见的负载均衡算法

  1. 轮询 (Round Robin)

    • 按顺序将请求依次分配给每台服务器。
  2. 加权轮询 (Weighted Round Robin)

    • 给每台服务器分配一个权重,根据权重分配请求,权重高的服务器分配到的请求更多。
  3. 最少连接数 (Least Connections)

    • 将请求分配给当前处理连接最少的服务器。
  4. IP哈希 (IP Hash)

    • 根据请求的IP地址进行哈希运算,将请求分配到特定的服务器,这样同一IP地址的请求总是分配到同一台服务器上。

应用场景

  1. Web服务

    • 大型网站、电子商务平台等需要处理大量用户请求的场景。
  2. 数据库

    • 分布式数据库系统,通过负载均衡分配查询请求,提高数据处理能力。
  3. 应用服务

    • 微服务架构中,通过负载均衡器将请求分发到不同的服务实例,提高系统弹性和可靠性。

通过使用负载均衡,系统可以更高效地利用资源,避免单点故障,提高服务的可用性和响应速度。

2.7.2 NFS 集群架构

在NFS(Network File System)应用场景中,集群架构被用来提高文件系统的性能、可靠性和可扩展性。通过使用多台服务器来共享文件系统,集群架构可以确保文件服务的高可用性,并能够处理大量并发请求。

白话解释

假设你有一家图书馆,里面有很多书架,每个书架代表一台服务器。现在很多人同时来借书,如果只有一个书架,他们可能会排队等很久。为了提高效率,你决定用多个书架,每个人可以去不同的书架借书,这样就快多了。如果其中一个书架坏了,其他书架还可以继续提供书籍服务,读者不会受到太大影响。这种方式就是NFS应用场景中的集群架构。

NFS集群架构的主要类型和应用场景

  1. 高可用性集群 (HA, High Availability Cluster)

    • 应用场景:企业内部文件共享、用户家庭目录、配置文件共享等。
    • 解释:当多个文件服务器组成一个集群,如果某个服务器发生故障,其他服务器会自动接管它的工作,确保文件系统仍然可以被访问。
    • 示例:假设你的图书馆有多个人负责管理不同的书架(服务器),其中一个管理员请假了,其他管理员会自动接手他的工作,读者仍然可以借到书。
  2. 负载均衡集群 (Load Balancing Cluster)

    • 应用场景:大型数据处理系统、内容分发网络(CDN)、大规模用户文件存储等。
    • 解释:当大量用户同时访问文件系统时,负载均衡器会将用户请求均匀分配到不同的服务器上,以确保每台服务器都不会过载,提高整体系统的响应速度和稳定性。
    • 示例:你的图书馆有多个书架(服务器),每个书架都有一些同样的热门书籍。读者进来时会被引导到不同的书架,这样大家都能更快地借到书。
  3. 存储集群 (Storage Cluster)

    • 应用场景:云存储服务、大型数据中心、分布式文件系统(如Ceph)等。
    • 解释:将数据分布在多个存储节点上,不仅可以扩展存储容量,还能提高数据的访问速度和安全性。如果

某个节点出现问题,数据可以从其他节点获取。

  • 示例:你的图书馆有很多书籍(数据),这些书籍存放在不同的书架上(存储节点)。如果某个书架坏了,读者可以从其他书架上找到同样的书。

优点

  1. 高可用性

    • 即使某台服务器故障,其他服务器也能接管工作,确保文件系统可用。
  2. 高性能

    • 多台服务器共同分担工作负载,提高系统的整体处理能力和响应速度。
  3. 扩展性

    • 可以根据需要增加或减少服务器,灵活调整系统的处理能力和存储容量。
  4. 容错性

    • 数据在多个节点之间冗余和备份,提高系统的容错能力和数据安全性。

通过在NFS应用场景中使用集群架构,可以确保文件系统的高可用性、高性能和可扩展性,满足大规模并发访问和数据存储的需求。

三、tcpdump 抓包工具

3.1 tcpdump 简介

tcpdump 是一个用于捕获网络数据包的命令行工具,能够分析通过网络传输的数据包内容。它支持多种协议的抓包,并且可以根据多种过滤条件进行抓包。

3.2 tcpdump 常见参数

  • 指定网卡

    tcpdump -i 网卡名
    
  • 将捕获信息保存到文件

    tcpdump -w 文件名
    
  • 读取捕获文件

    tcpdump -r 文件名
    
  • 不把 IP 转换成域名,直接显示 IP

    tcpdump -n
    
  • 直接显示 IP 和端口号

    tcpdump -nn
    
  • 指定捕获数据包的数量

    tcpdump -c 数量
    
  • 过滤数据包的方向

    tcpdump -Q in|out|inout
    

3.3 tcpdump 过滤规则

3.3.1 基于 IP 地址/网段过滤
  • 过滤特定主机

    tcpdump host IP地址
    
  • 过滤特定目的地址

    tcpdump dst IP地址
    
  • 过滤特定源地址

    tcpdump src IP地址
    
  • 过滤特定网段

    tcpdump net 网段
    
3.3.2 基于端口过滤
  • 过滤特定端口

    tcpdump port 端口号
    
  • 过滤端口范围

    tcpdump portrange 端口范围
    
3.3.3 基于协议过滤
  • 过滤特定协议

    tcpdump proto 协议名
    

    支持的协议包括:ip、arp、icmp、tcp、udp。

3.4 tcpdump 使用示例

  • 捕获所有流量

    tcpdump -i ens33
    
  • 捕获特定主机的流量

    tcpdump -i ens33 host 192.168.91.101
    
  • 捕获特定端口的流量

    tcpdump -i ens33 port 80
    
  • 捕获特定协议的流量

    tcpdump -i ens33 icmp
    
  • 将捕获信息保存到文件

    tcpdump -i ens33 -w capture.pcap
    
  • 读取捕获文件

    tcpdump -r capture.pcap
    

网段过滤

  • 过滤特定主机

    tcpdump host IP地址
    
  • 过滤特定目的地址

    tcpdump dst IP地址
    
  • 过滤特定源地址

    tcpdump src IP地址
    
  • 过滤特定网段

    tcpdump net 网段
    
3.3.2 基于端口过滤
  • 过滤特定端口

    tcpdump port 端口号
    
  • 过滤端口范围

    tcpdump portrange 端口范围
    
3.3.3 基于协议过滤
  • 过滤特定协议

    tcpdump proto 协议名
    

    支持的协议包括:ip、arp、icmp、tcp、udp。

3.4 tcpdump 使用示例

  • 捕获所有流量

    tcpdump -i ens33
    
  • 捕获特定主机的流量

    tcpdump -i ens33 host 192.168.91.101
    
  • 捕获特定端口的流量

    tcpdump -i ens33 port 80
    
  • 捕获特定协议的流量

    tcpdump -i ens33 icmp
    
  • 将捕获信息保存到文件

    tcpdump -i ens33 -w capture.pcap
    
  • 读取捕获文件

    tcpdump -r capture.pcap
    

以上内容涵盖了 YUM 仓库配置、NFS 共享存储以及 tcpdump 抓包工具的详细介绍和使用方法。通过这些步骤和命令,您可以有效地管理软件包、实现文件共享以及进行网络数据包的分析。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/376931.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IntelliJ IDEA自定义菜单(Menus)、任务栏(toolbars)详细教程

本示例是基于IDEA2024.1Ultimate版本的New UI模式下 一、自定义菜单 1、打开Settings&#xff0c;找到Menus and Toolbars 2、点击右边的Main Menu&#xff0c;点击号&#xff0c;选择Add Action 3、弹出Add Action弹窗&#xff0c;搜索或者选择你要添加的指令 二、自定义工具…

Linux命令更新-Vim 编辑器

简介 Vim 是 Linux 系统中常用的文本编辑器&#xff0c;功能强大、可扩展性强&#xff0c;支持多种编辑模式和操作命令&#xff0c;被广泛应用于程序开发、系统管理等领域。 1. Vim 命令模式 Vim 启动后默认进入命令模式&#xff0c;此时键盘输入的命令将用于控制编辑器本身&…

OpenCV 寻找棋盘格角点及绘制

目录 一、概念 二、代码 2.1实现步骤 2.2完整代码 三、实现效果 一、概念 寻找棋盘格角点&#xff08;Checkerboard Corners&#xff09;是计算机视觉中相机标定&#xff08;Camera Calibration&#xff09;过程的重要步骤。 OpenCV 提供了函数 cv2.findChessboardCorners…

LeetCode 441, 57, 79

目录 441. 排列硬币题目链接标签思路代码 57. 插入区间题目链接标签思路两个区间的情况对每个区间的处理最终的处理 代码 79. 单词搜索题目链接标签原理思路代码 优化思路代码 441. 排列硬币 题目链接 441. 排列硬币 标签 数学 二分查找 思路 由于本题所返回的 答案在区间…

【C++】入门基础(引用、inline、nullptr)

目录 一.引用 1.引用的定义 2.引用的特性 3.引用的使用场景 4.const引用 5.引用和指针的区别 二.inline 三.nullptr 一.引用 1.引用的定义 引用不是新定义一个变量&#xff0c;而是给已经存在的变量取一个别名&#xff0c;编译器不会给引用变量开辟内存空间&#xff0c…

检测精度评价指标召回率和精确率

检测精度评价指标为&#xff1a; 1、召回率&#xff08;Recall Rate &#xff09; 2、平均精度均值&#xff08;mAP&#xff09; 3、平均对数漏检率&#xff08;MR-2&#xff09; 计算 TP 和 FP 的示例 假设你有一个目标检测模型&#xff0c;并使用它检测图像…

Git代码管理工具 — 3 Git基本操作指令详解

目录 1 获取本地仓库 2 基础操作指令 2.1 基础操作指令框架 2.2 git status查看修改的状态 2.3 git add添加工作区到暂存区 2.4 提交暂存区到本地仓库 2.5 git log查看提交日志 2.6 git reflog查看已经删除的记录 2.7 git reset版本回退 2.8 添加文件至忽略列表 1 获…

在conda的环境中安装Jupyter及其他软件包

Pytorch版本、安装和检验 大多数软件包都是随Anaconda安装的&#xff0c;也可以根据需要手动安装一些其他软件包。 目录 创建虚拟环境 进入虚拟环境 安装Jupyter notebook 安装matplotlib 安装 pandas 创建虚拟环境 基于conda包的环境创建、激活、管理与删除http://t.cs…

(实测可用)(3)Git的使用——RT Thread Stdio添加的软件包,github与gitee冲突造成无法上传文件到gitee

★硬件资源&#xff1a;本文章以STM32L431RCT6做主控芯片做验证&#xff1b; ★IDE开发环境&#xff1a;RT Thread stdio&#xff1b; ★RT Thread 版本&#xff1a;V4.0.3 一、RT Thread Stdio加载软件包 1、如下图所示&#xff0c;通过RT Thread Stdio加载的软件包&#…

gd32发送数据,定义参数,接收中断

void usart_receive_data(uint8_t ucch) {usart_data_receive(UART3); } void usart_send_data(uint8_t ucch) {usart_data_transmit(UART3,(uint8_t)ucch);while(usart_flag_get(UART3,USART_FLAG_TBE) RESET); } 这是在c文件中定义函数&#xff0c;之后在h文件中声明&#…

Windows终端远程登陆Linux服务器(SSH+VScode)

W i n d o w s 终端远程登陆 L i n u x 服务器&#xff08; S S H V S c o d e &#xff09; \huge{Windows终端远程登陆Linux服务器&#xff08;SSHVScode&#xff09;} Windows终端远程登陆Linux服务器&#xff08;SSHVScode&#xff09; 文章目录 写在前面通过SSH远程连接L…

4000厂商默认账号密码、默认登录凭证汇总.pdf

获取方式&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1F8ho42HTQhebKURWWVW1BQ?pwdy2u5 提取码&#xff1a;y2u5

【总线】AXI第九课时:介绍AXI响应信号 (Response Signaling):RRESP和 BRESP

大家好,欢迎来到今天的总线学习时间!如果你对电子设计、特别是FPGA和SoC设计感兴趣&#xff0c;那你绝对不能错过我们今天的主角——AXI4总线。作为ARM公司AMBA总线家族中的佼佼者&#xff0c;AXI4以其高性能和高度可扩展性&#xff0c;成为了现代电子系统中不可或缺的通信桥梁…

28.【C语言】库函数

1.函数定义 在计算机科学中&#xff0c;子程序是一个大型程序中的某部分代码&#xff0c;由一个或多个语句块组成。它负责完成某项特定任务&#xff0c;而且相较于其他代码&#xff0c;具备相对的独立性。一般会有输入参数并有返回值&#xff0c;提供对过程的封装和细节的隐藏…

AC修炼计划(AtCoder Regular Contest 180) A~C

A - ABA and BAB A - ABA and BAB (atcoder.jp) 这道题我一开始想复杂了&#xff0c;一直在想怎么dp&#xff0c;没注意到其实是个很简单的规律题。 我们可以发现我们住需要统计一下类似ABABA这样不同字母相互交替的所有子段的长度&#xff0c;而每个字段的的情况有&#xff…

目标检测基本标注工具-labelImg安装与使用

&#x1f349;一、安装 1.1 打开conda创建虚拟环境&#x1f388; conda create -n labelImg python3.8 -y 1.2 激活labelImg虚拟环境&#x1f388; activate labelImg1.3 安装labelImg&#x1f388; pip install -i https://pypi.tuna.tsinghua.edu.cn/simple lab…

Rust vs Go: 特点与应用场景分析

目录 介绍Rust的特点Go的特点Rust的应用场景Go的应用场景总结 介绍 Rust和Go&#xff08;Golang&#xff09;是现代编程语言中两个非常流行的选择。凭借各自的独特优势和广泛的应用场景&#xff0c;吸引了大量开发者的关注。本文将详细介绍Rust和Go的特点&#xff0c;并探讨它…

golang程序性能提升改进篇之文件的读写---第一篇

背景&#xff1a;接手的项目是golang开发的&#xff08;本人初次接触golang&#xff09;经常出现oom。这个程序是计算和io密集型&#xff0c;调用流量属于明显有波峰波谷&#xff0c;但是因为各种原因&#xff0c;当前无法快速通过serverless或者动态在高峰时段调整资源&#x…

python的简单爬取

需要的第三方模块 requests winr打开命令行输入cmd 简单爬取的基本格式&#xff08;爬取百度logo为例&#xff09; import requests url"http://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png" resprequests.get(url)#回应 #保存到本地 with open(&…

C语言之指针的奥秘(三)

一、字符指针变量 在指针的类型中&#xff0c;有字符指针char*&#xff0c;一般使用&#xff1a; #include<stdio.h> int main() {char ch w;char* p &ch;*p w;return 0; } 还有一种方式&#xff1a; #include<stdio.h> int main() {const char* p &qu…