在 Windows 上远程对 Linux 进行抓包

文章目录

  • 名词解释
  • 事先准备
  • 下载安装 Wireshark
  • 下载运行 libpcap
  • 设置 libpcap 环境变量
  • 在 Wireshark 中远程连接 libpcap

笔者的运行环境:(成功)

  • 本地客户端:

    • Windows:

      • Windows 10 教育版(本文)
    • Wireshark:

      • Wireshark 4.0.6(本文)
  • 远程服务器:

    • Linux:

      • RedHat Enterprise Linux 9 x86_64(本文)
    • libpcap:

      • libpcap 1.10.4(本文)

名词解释

  什么是远程对 Linux 进行抓包?这指是在一台机器上查看另一个台远程 Linux 的网络的流量传输情况。为什么需要远程进行抓包呢?这是因为在远程的那台 Linux 可能不方便运行常规的抓包软件。比如,有可能是因为自己习惯在 Windows 下使用的那个 GUI 抓包软件不能在远程的那台 Linux 运行,或者远程的那台 Linux 没有电脑显示屏等等。这些原因都会导致需要远程对 Linux 进行抓包。

事先准备

  1. 为了方便远程输入命令、将文件加入到 Linux 操作系统中,最好还要在一台 Windows 操作系统上面使用一种终端控制软件,如 Xshell、Xftp 等。关于这方面的内容,可见笔者的另一篇如下博客。同时,该博客还给出了查看 Linux 中的 IP 的方法。

    如何在 Windows 主机上访问本地局域网中的 Linux 主机:
    https://blog.csdn.net/wangpaiblog/article/details/120052152

    现在,假设读者已经会了如何将文件从 Windows 中传入 Linux 中,以及查看 Linux 中的 IP。

  2. 由于 Linux 操作系统的种类繁多,因此首先要知道要安装 Linux 操作系统的处理器架构信息。以 RedHat Enterprise Linux 9 x86_64 为例,输入以下命令:

    cat /proc/version

    [root@192 ~]# cat /proc/version
    Linux version 5.14.0-284.11.1.el9_2.x86_64 (mockbuild@x86-vm-09.build.eng.bos.redhat.com) (gcc (GCC) 11.3.1 20221121 (Red Hat 11.3.1-4), GNU ld version 2.35.2-37.el9) #1 SMP PREEMPT_DYNAMIC Wed Apr 12 10:45:03 EDT 2023
    

    可以看出,上述的关键信息为 x86_64。记住这一点,下面将会用上。

  3. Linux 的 PMS 工具主流有两种。

    对于基于 Red Hat 的发行版,其 PMS 工具为 rpm,对应的安装命令为 yum。

    对于基于 Debian 的发行版,其 PMS 工具为 dpkg,对应的安装命令为 aptitude。

    笔者的操作系统 RedHat Enterprise Linux 9 x86_64 属于 Red Hat,将使用后缀为 rpm 的安装包。如果读者使用的操作系统为 Ubuntu,需要选择后缀为 deb 的安装包。如果读者不知道如何分辨,可以输入以下命令来验证:

    yum

    [root@XXX ~]# yum
    [...一长串说明文字...]
    

    如果输入 yum 之后,出现了一大串的说明文字,说明应该使用后缀为 rpm 的安装包。如果提示 yum 命令不存在,说明应该使用后缀为 deb 的安装包。当然,读者也可以通过输入命令 aptitude 来进行进一步的验证。

下载安装 Wireshark

  1. 抓包软件有很多,这里选择 Wireshark。Wireshark 官网:https://www.wireshark.org/

    Wireshark 下载完成之后就可以安装了。此软件的安装过程很傻瓜,这里从略。

下载运行 libpcap

  1. libpcap 是一种 Linux 下著名的抓包工具,而且 Wireshark 与它是兼容的。libpcap 官网:https://www.tcpdump.org/


    【踩坑提醒】

      有的读者可能会去下载安装 WinPcap,这是错误的。WinPcap 是一种 Windows 下的抓包工具,不适用 Linux,而且它已经停止更新了。


  2. 在 libpcap 官网下载 libpcap。

    在这里插入图片描述

  3. 先不要急着安装 libpcap。libpcap 是用 C 语言编写的,碰巧 Linux 也几乎如此。而 libpcap 的安装需要借助 GCC 进行编译,而 Linux 上可能已经安装了 GCC 了。因为有些 Linux 会内置 GCC,而有些软件在安装时会自动安装 GCC。

    输入如下命令查看 Linux 中 GCC 的版本:

    gcc --version

    [root@192 ~]# gcc --version
    gcc (GCC) 11.3.1 20221121 (Red Hat 11.3.1-4)
    Copyright © 2021 Free Software Foundation, Inc.
    本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
    包括没有适销性和某一专用目的下的适用性担保。
    

    可以看出,笔者的 Linux 操作系统已经有 GCC 了。如果读者的 Linux 中没有 GCC,可以输入以下命令安装 GCC:

    yum -y install gcc


    【踩坑提醒】

      对于读者的某些 Linux 操作系统,此处安装 GCC 可能会报错,解决方案可参考笔者的另一篇博客:

      解决 CentOS 8 使用 yum 安装 rpm 报错 Cannot prepare internal mirrorlist No URLs in mirrorlist:
    https://blog.csdn.net/wangpaiblog/article/details/131118012


  4. libpcap 需要 Flex、Bison 这两个依赖,输入如下命令进行安装:

    cd libpcap 压缩包所在目录

    如果缺少这两个依赖,则 libpcap 在后续安装时会报如下错误。

    configure: error: Neither flex nor lex was found.
    
  5. 将下载完的 .tar.gz 包通过 Xftp 传入 Linux 中。

    使用如下命令进入目录 libpcap 压缩包所在目录:(下面的 libpcap 压缩包所在目录 要改成实际的目录)

    yum -y install flex bison

  6. 使用如下命令解压 gz 包:

    tar -xzvf libpcap-1.10.4.tar.gz

  7. 使用如下命令进入解压后的目录:

    cd libpcap-1.10.4/

  8. 输入如下命令生成 Makefile

    ./configure --enable-remote

  9. 输入如下命令对进行 libpcap 编译:

    make

  10. 输入如下命令运行 libpcap。

    cd rpcapd/

    ./rpcapd -n -d

    注意:libpcap 运行时如果不指定端口号,就相当于将端口号指定为 2002。

设置 libpcap 环境变量

  1. 设置 libpcap 环境变量只是为了方便,这样下次运行 libpcap 时不必输入 libpcap 的全路径。

  2. 一个偷懒的方法是将环境变量添加在文件 /etc/profile 中。之所以说偷懒,是因为一旦升级或重装了 Linux 操作系统,这个文件就会被重置。

    最好的方法是将自设的环境变量放到 $HOME/ 下的缀为 .bash 的一系列文件中。不过笔者有时也偷懒。

  3. 在 Linux 中设置 libpcap 的环境变量偷懒方法:

    在文件 /etc/profile 尾追加以下内容:(注意:修改前最好先备份,以免发生误修改)

    (这里假设读者 libpcap 的安装路径为 /usr/local/libpcap

    export PATH=$PATH:/usr/local/libpcap/rpcapd
    

    在文件 /etc/profile 中追加路径正是上面生成的 libpcap 命令目录

  4. 现在需要验证一下环境变量有没有设置成功,但先不要着急验证,因为文件 /etc/profile 在 Linux 启动时才会被读取。可以使用以下方法来使环境变量生效。

    • 使用命令 source:

      source /etc/profile

    • 重启。重启的方法有很多,也可以使用命令 reboot

  5. 验证环境变量。这种方法有很多,只举几例。

    • 输入以下命令。如果输出了前面的设置,说明前面的环境变量设置成功。

      echo $PATH

    • 输入以下命令。如果输出了相应的路径(就是前面生成的 libpcap 命令目录/redis-cli),说明前面的环境变量设置成功。

      which rpcapd

      [root@localhost ~]# which rpcapd
      /usr/local/redis/bin/redis-cli
      
  6. 设置环境变量之后,以后在任何目录下只输入如下命令即可运行 libpcap。

    rpcapd -n -d

在 Wireshark 中远程连接 libpcap

  1. 打开 Wireshark,按如下操作即可。

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  2. 连接成功之后,Wireshark 就会显示出这些远程连接,然后就可以进行远程抓包了。

    在这里插入图片描述

    在这里插入图片描述

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

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

相关文章

【文末送书】全栈开发流程——后端连接数据源(二)

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄,vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…

【python手写算法】逻辑回归实现分类(含公式推导)

公式推导: 代码实现: # codingutf-8 import matplotlib.pyplot as plt import numpy as npdef f(w1,x1,w2,x2,b):zw1*x1w2*x2breturn 1/(1np.exp(-z)) if __name__ __main__:X1 [12.46, 0.25, 5.22, 11.3, 6.81, 4.59, 0.66, 14.53, 15.49, 14.43,2.1…

swiper删除虚拟slide问题

在存在缓存的情况下,删除较前的slide,会出现当前slide与后一个slide重复出现的情况 假设当前存在5个slide,且这5个slide已缓存,则删除slide2后,仍为5个slide,且slide2的内容变为slide3的内容,此…

JAVA设计模式第十讲:SPI - 业务差异解决方案

JAVA设计模式第十讲:SPI - 业务差异解决方案 我们需要在不修改源代码的情况下,动态为程序提供一系列额外的特性。首先想到的是Spring的AOP技术来构建应用插件,但是在Java自带的插件中,就有完整的实现。SPI(Service Pro…

23062C++QT day2

封装一个结构体,结构体中包含一个私有数组,用来存放学生的成绩,包含一个私有变量,用来记录学生个数, 提供一个公有成员函数,void setNum(int num)用于设置学生个数 提供一个公有成员函数:void…

Vue3实战06-CompositionAPI+<script setup>好在哪?

Vue 3 的Composition API <script setup>这种最新的代码组织方式。

天翼云不做备案接入,如何绑定域名,不用80端口,443端口。

443&#xff0c;80端口不开启。 第一步&#xff1a; 宝塔更改web端口 搞个复杂的端口。 第二步&#xff1a; 在天翼云策略组上面开启修改过的web端口。 第三步&#xff1a;接入cdn&#xff0c;端口改成修改过的端口。

关于MyBatisPlus框架下出现xml里面定义的方法无法被正确识别以及提示调用mysql存储过程时参数无效的问题

第一个问题&#xff1a;xml里面明明定义了方法A&#xff0c;但是通过IService接口调用A的时候&#xff0c;总提示无法将接口中定义的函数绑定到xml中的同名方法中&#xff08;“Invalid bound statement (not found): com.aircas.sqlservice.mapper.SysTempIndexMapper.getRemo…

3D封装技术发展

长期以来&#xff0c;芯片制程微缩技术一直驱动着摩尔定律的延续。从1987年的1um制程到2015年的14nm制程&#xff0c;芯片制程迭代速度一直遵循摩尔定律的规律&#xff0c;即芯片上可以容纳的晶体管数目在大约每经过18个月到24个月便会增加一倍。但2015年以后&#xff0c;芯片制…

H.264视频编码推荐的分辨率和码率配置表

Video Encoding Settings for H.264 Excellence 针对H.264编码格式&#xff0c;根据不同分辨率&#xff0c;推荐其对应的码率配置关系如下图所示&#xff1a; 如下为上限&#xff0c;超过这个上限再增加码率基本无太大意义&#xff01;根据业务场景、帧率&#xff0c;建议码率…

Redis 7 第八讲 集群模式(cluster)架构篇

集群架构 Redis 集群架构图 集群定义 Redis 集群是一个提供在多个Redis节点间共享数据的程序集;Redis集群可以支持多个master 应用场景 Redis集群支持多个master,每个master又可以挂载多个slave读写分离支持数据的高可用支持海量数据的读写存储操作集群自带Sentinel的故障…

CSS水平垂直居中方案

1 前言 水平居中、垂直居中是前端面试百问不厌的问题。 其实现方案也是多种多样&#xff0c;常叫人头昏眼花。 水平方向可以认为是内联方向&#xff0c;垂直方向认为是块级方向。 下面介绍一些常见的方法。 <div class"container"><span class"inne…

Java反序列化之CommonsCollections CC1链分析

前言 cc链的研究可以说是非常适合java代码审计的入门篇了&#xff0c;十分考验java代码功力&#xff0c;其实也是基础功&#xff0c;跨过了这个门槛&#xff0c;在看看其他业务代码就会比较轻松了。不要说代码难&#xff0c;看不懂&#xff0c;作者也是刚入门java没几个月的小…

Python UI自动化 —— 关键字+excel表格数据驱动

步骤&#xff1a; 1. 对selenium进行二次封装&#xff0c;创建关键字的库 2. 准备一个表格文件来写入所有测试用例步骤 3. 对表格内容进行读取&#xff0c;使用映射关系来对用例进行调用执行 4. 执行用例 1. 对selenium进行二次封装&#xff0c;创建关键字的库 from time imp…

Cortex-A7 架构

参考《 Cortex-A7 Technical ReferenceManua.pdf 》和《 ARM Cortex-A(armV7) 编程手 册 V4.0.pdf 》 【 正点原子】I.MX6U嵌入式Linux驱动开发指南V1.6学习 1.Cortex-A7 MPCore 简介 I.MX6UL 使用的是 Cortex-A7 架构&#xff0c;Cortex-A7 MPcore 处理器支持 1~4 核&#…

kubeadm 安装k8s

目录 安装k8s 环境准备 所有节点&#xff0c;关闭防火墙规则&#xff0c;关闭selinux&#xff0c;关闭swap交换&#xff08;必须关闭swap分区&#xff09; //修改主机名 //所有节点修改hosts文件 //调整内核参数 所有节点安装docker 所有节点安装kubeadm&#xff0c;kube…

Layui快速入门之第一节Layui的基本使用

目录 一&#xff1a;Layui的基本概念 二&#xff1a;Layui使用的基本步骤 1.在官网下载layui的基本文件&#xff0c;引入css和js文件 ①&#xff1a;普通方式引入 ②&#xff1a;第三方 CDN 方式引入 2.在script标签体中编写代码 3.测试 一&#xff1a;Layui的基本概念 …

Cmake入门(一文读懂)

目录 1、Cmake简介2、安装CMake3、CMakeLists.txt4、单目录简单实例4.1、CMakeLists.txt4.2、构建bulid内部构建外部构建 4.3、运行C语言程序 5、多目录文件简单实例5.1、根目录CMakeLists.txt5.2、源文件目录5.3、utils.h5.4、创建build 6、生成库文件和链接外部库文件7、注意…

C#备份数据库文件

c#备份数据库文件完整代码 sqlServer 存储过程&#xff1a; USE [PSIDBase] GO /****** Object: StoredProcedure [dbo].[sp_BackupDB] Script Date: 2023/8/31 16:49:02 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GOALTER procedure [dbo].[sp_BackupDB]…

k8s 入门到实战--部署应用到 k8s

k8s 入门到实战 01.png 本文提供视频版&#xff1a; 背景 最近这这段时间更新了一些 k8s 相关的博客和视频&#xff0c;也收到了一些反馈&#xff1b;大概分为这几类&#xff1a; 公司已经经历过服务化改造了&#xff0c;但还未接触过云原生。公司部分应用进行了云原生改造&…