如何向嵌入式设备中添加tcpdump工具

news2024/9/28 21:27:17

说明:tcpdump是一个在网络设备调试中一个非常重要的工具,它并不像hexdump等工具集成在busybox里面,也不像其他的软件一样只需要依赖linux标准的库就可以实现,它需要pcap相关的库和加密的相关库。

本文主要是基于realtek 83系列的linux环境,其他的嵌入式的设备可能不通用。

一、解压下图所示的两个压缩文件,一个是库文件,一个是程序本体

二、在libpcap上打开终端,输入命令

./configure --disable-dbus

 完成后如下图所示,没有报错,因为没有用到dbus这个功能,编译后会有bug,所以就不打开了

三、到tcpdump本体目录下执行

./configure

即可

在当前目录下会生成tcpdump的文件,当然这个程序是在主机下面的,嵌入式设备是无法运行的。如下图所示,该程序就是ubuntu系统下可运行的程序。

 四、打开libpcap目录下的makefile文件,将其中的gcc和ar替换成指定的交叉编译工具链的路径,如图所示

当然现在还是有问题的,直接make去编译会出现如下的报错,当然了,如果没有报错说明你的交叉编译工具是支持对变量名进行“说明”的,这个说明是没有一点用的,如果出现下面的报错,直接删除restrict即可。

找到报错位置,如下图所示

 删除里面的restrict当然了有两个地方

还有定义的源文件位置也要删除。 

五、将这些的头文件加入到交叉编译工具中,一部分是头文件,一部分是库文件

 

 

复制它们到如下图所示的文件夹下面即可

 同样的方法复制openssl的库到交叉编译的库中,同样是一个头文件夹,和一个库文件的文件夹,而openssl的编译可以参考我以前写的文章。

六、 出现了crypto这个报错,那么是openssl那边没有这个库的文件,

复制到tcpdump的文件夹下即可,如下图所示

 --float28的问题,只需要删除tcpdump的文件夹下的makefile中的一句即可,如下图所示的标记的位置

删除后再编译,没有问题,直接通过

七、将程序复制到嵌入式设备后添加x的属性后运行,如果出现如下的问题,用ln链接一下即可。

 

最终的效果如下图所示,ctrl+c后中断程序运行,就可以看到指定的文件和包了!

将抓到的报文用wireshark打开,可以看到报文了

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot+Redis实现接口防刷功能

场景描述: 在实际开发中,当前端请求后台时,如果后端处理比较慢,但是用户是不知情的,此时后端仍在处理,但是前端用户以为没点到,那么再次点击又发起请求,就会导致在短时间内有很多请求…

《路由与交换技术》---简答题

1、什么是STP?解决什么问题? STP代表生成树协议(Spanning Tree Protocol)。它是用于在计算机网络中解决环路问题的一种协议。 STP的主要目标是消除环路,保持网络的稳定性和可靠性,同时提供冗余路径以实现网…

批量删除文件名的空格,一键清理让文件名中的空格去无踪

我们每天都会创建、下载、重命名很多文件,在文件的重命名过程中,我们会不自觉地在文件名中加入空格,这些看似无害的空格,在某些情况下,却可能引发诸多不便。例如,在某些软件或操作系统中,空格可…

【Java】设计模式之保护性暂停

设计模式之保护性暂停 Guarded Suspension,这个设计模式,主要用在一个线程等待另一个线程的执行结果(发请求等待响应) 有一个结果需要从一个线程传递到另一个线程,传递只进行一次,用设计模式保护性暂停。 …

使用pagehelper插件进行分页查询

一、导入mybatis和pagehelper坐标 <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.0</version> </dependency> <dependency><groupId&…

项目管理进阶之PDCA

前言 项目管理进阶系列&#xff0c;今天开始发布第一篇喽。 博主其实一直在构思&#xff0c;如何开启这个系列&#xff0c;但是我们通常项目管理讲的“五大过程十大领域”&#xff0c;往往太书面了。因此尝试从中抓取几个核心&#xff0c;以供有志之士参考。 那么&#xff0c…

史诗级长文--决策树

决策树 决策树(decision tree)是一种基本的分类与回归方法。 举个通俗易懂的例子&#xff0c;如下图所示的流程图就是一个决策树&#xff0c;长方形代表判断模块(decision block)&#xff0c;椭圆形成代表终止模块(terminating block)&#xff0c;表示已经得出结论&#xff0c;…

基于商品列表的拖拽排序后端实现

目录 一&#xff1a;实现思路 二&#xff1a;实现步骤 二&#xff1a;实现代码 三&#xff1a;注意点 一&#xff1a;实现思路 后台实现拖拽排序通常需要与前端进行配合&#xff0c;对商品的列表拖拽排序&#xff0c;前端需要告诉后端拖拽的元素和拖动的位置。 这里我们假…

Java多线程技术11——ThreadPoolExecutor类的使用1

1 概述 ThreadPoolExecutor类可以非常方便的创建线程池对象&#xff0c;而不需要程序员设计大量的new实例化Thread相关的代码。 2 队列LinkedBlockingQueue的使用 public class Test1 {public static void main(String[] args) {LinkedBlockingQueue queue new LinkedBlocki…

Activity启动流程

早就想写这个笔记用于记录这段知识&#xff0c;但是碍于太过庞大所以始终没有进行这段知识的整理 很多博客喜欢画一个时序图展示所有的流程&#xff0c;但是过于庞大&#xff0c;看起来有点吃力&#xff0c;这里我们画多个时序图来展示这个流程 1.app请求AMS启动Activity 在前…

特征工程筛选重要变量

特征筛选主要分为3个方法&#xff1a;过滤法、嵌入法&#xff08;经典的一些树模型比如xgboost&#xff09;、包裹法&#xff08;经典的RFECV&#xff0c;RFE递归特征消除法&#xff09; 过滤法更快速&#xff0c;但更粗糙。 包装法和嵌入法更精确&#xff0c;比较适合具体到算…

P1262 间谍网络

1、思路 阅读题目&#xff0c;发现有些间谍可以是被前面的点更新&#xff0c;也就是说&#xff0c;在一开始的时候&#xff0c;把能贿赂的人员从小到达排个序&#xff0c;再使用bfs算法&#xff0c;把他们能到达的人员的贿赂价钱设置为0。 有解的情况&#xff1a; 首先如果有…

JavaScript:Date 对象-时间日期

Date 对象-时间日期: - JS中所有的关于时间信息都需要通过Date对象来表示 // 创建一个Date对象 // 如果直接使用new Date()创建时间对象&#xff0c;它会默认创建一个表示代码执行时刻的对象var d new Date();// 如果希望创建一个指定的时间的Date的对象&#xff0c;需要传递…

python总结-装饰器

装饰器 装饰器解决日志问题&#xff08;分三个版本&#xff09;多个装饰器带参数的装饰器wraps装饰器内置装饰器property装饰器staticmethod装饰器classmethod装饰器 类装饰器缓存装饰器和计时装饰器综合练习 概念 装饰器来自 Decorator 的直译。什么叫装饰&#xff0c;就是装点…

【tkinter 电子时钟 实现时间日期 可实现透明 无标题栏】

下面是一个使用tkinter实现的简单的电子时钟&#xff0c;包括时间和日期的显示。该窗口是透明的&#xff0c;没有标题栏。 效果&#xff1a; import tkinter as tk from datetime import datetimedef update_time():now datetime.now()time_label.configure(textnow.strftim…

【一】使用vue-cli创建vue3的helloworld项目

不再推荐使用vue-cli命令创建vue3的项目&#xff0c;vue-cli 是 Vue 早期推出的一款脚手架&#xff0c;使用 webpack 创建 Vue 项目。后期推荐使用 create-vue&#xff0c;create-vue 是 Vue3 的专用脚手架&#xff0c;使用 vite 创建 Vue3 的项目(关注【二】使用create-vue创建…

操作系统期末复习笔记(持续更新..)

一、操作系统的基本概念 1.1 操作系统概念 控制和管理整个计算机系统的硬件与软件资源。合理地组织、调度计算机的工作与资源。为用户和其他软件提供方便接口与环境的程序集合。 1.2 操作系统的特征 特征&#xff1a;并发&#xff0c;共享&#xff0c;虚拟&#xff0c;异步…

每日算法打卡:数的三次方根 day 7

文章目录 原题链接题目描述输入格式输出格式数据范围输入样例&#xff1a;输出样例&#xff1a; 题目分析示例代码 原题链接 790. 数的三次方根 题目难度&#xff1a;简单 题目描述 给定一个浮点数 n&#xff0c;求它的三次方根。 输入格式 共一行&#xff0c;包含一个浮…

如何将手机中termux用电脑的vnc显示

在电脑中我们同样需要下载 vnc 这里填写手机上的 IP&#xff1a;端口号 我的是 10.11.166.219:5902 下面填名字然后 手机端 输入sshd开始ssh这边就可以连接啦

【ARM 处理器】程序存储详解

本篇文章主要介绍ARM处理器&#xff0c;Code, RO-data,RW-data,ZI-data 知识以及程序存储情况 目录 1. 专业词汇2. 程序存储3. 程序空间计算 1. 专业词汇 Code &#xff1a; 代码区&#xff0c;存储在 ROM 区域RO-data&#xff1a;Read Only data&#xff0c;即只读数据域&…