Ubuntu下的网络发包和抓包工具

2023-05-16

将最近在网络开发中用到的一些发包和抓包工具使用方法总结如下,作者总结不易,对你有帮助的请点赞、关注和收藏三联哦!

1.packEth发包工具的使用方法

     a.安装方法

sudo apt-get install packEth

    b.打开方法

#为了可以使用对应的网卡,需要sudo权限
sudo packEth

 

2.wireshark抓包工具的使用方法

    a.安装方法

sudo apt-get install wireshark

3.tcpdump抓包工具的使用方法

tcpdump是一个常用的命令行抓包工具,常用的命令参数如下:

tcpdump [-i netInterfave] -nnAX '表达式'

#各参数说明如下:

#    -i:interface 监听的网卡。
#    -nn:表示以ip和port的方式显示来源主机和目的主机,而不是用主机名和服务。
#    -A:以ascii的方式显示数据包,抓取web数据时很有用。
#    -X:数据包将会以16进制和ascii的方式显示。
#    表达式:表达式有很多种,常见的有:host 主机;port 端口;src host 发包主机;dst host 
#    收包主机。多个条件可以用and、or组合,取反可以使用!,
#    更多的使用可以查看man 7 pcap-filter。

举例如下:

    a.监听网卡eth0

tcpdump -i eth0

    b.指定监听协议,例如监听udp

tcp -i eth0 -nn 'udp'


#得到的结果如下

#tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
#listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
#11:22:47.348922 IP 192.168.1.210.8766 > 255.255.255.255.8766: UDP, length 12
#11:22:47.849425 IP 192.168.1.210.8766 > 255.255.255.255.8766: UDP, length 12
#11:22:48.089639 IP 192.168.1.27.50043 > 224.2.2.2.8995: UDP, length 30
#11:22:48.349601 IP 192.168.1.210.8766 > 255.255.255.255.8766: UDP, length 12
#11:22:48.850571 IP 192.168.1.210.8766 > 255.255.255.255.8766: UDP, length 12
#11:22:49.089080 IP 192.168.1.27.50043 > 224.2.2.2.8995: UDP, length 30
#11:22:49.349356 IP 192.168.1.210.8766 > 255.255.255.255.8766: UDP, length 12
#11:22:49.848827 IP 192.168.1.210.8766 > 255.255.255.255.8766: UDP, length 12
#11:22:50.089087 IP 192.168.1.27.50043 > 224.2.2.2.8995: UDP, length 30
#11:22:50.349713 IP 192.168.1.210.8766 > 255.255.255.255.8766: UDP, length 12
#11:22:50.849158 IP 192.168.1.210.8766 > 255.255.255.255.8766: UDP, length 12
#11:22:51.088922 IP 192.168.1.27.50043 > 224.2.2.2.8995: UDP, length 30
#11:22:51.349945 IP 192.168.1.210.8766 > 255.255.255.255.8766: UDP, length 12

#13 packets captured
#127 packets received by filter
#30 packets dropped by kernel

#内容依次为时间/发包ip和port/收包ip和port/协议/包的长度

  c.一些其他的用法

#监听指定的主机
tcpdump -i eth0 -nn 'host 192.168.1.231'


#监听指定主机发送的包,这样只有192.168.1.111这台主机发送的包才会被抓取。
tcpdump -i eth0 -nn 'src host 192.168.1.111'

#监听指定主机接收的包,这样只有192.168.1.111这台主机接收到的包才会被抓取
tcpdump -i eth0 -nn 'dst host 192.168.1.111'


#监听指定端口,结合-A参数,在web开发中,非常实用
tcpdump -i eth0 -nnA 'port 8765'

#监听指定主机和端口,多个条件可以用and,or连接。如监听192.168.1.231主机通过80端口发送的数据包
tcpdump -i eth0 -nnA 'port 80 and src host 192.168.1.231'

#监听除某个端口外的其它端口,可以使用“!”符号,如监听非22端口的数据包。
tcpdump -i eth0 -nnA '!port 22'

参考连接:

1. Linux使用tcpdump抓取网络数据包示例

2. packETH发包工具使用教程

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu下的网络发包和抓包工具 的相关文章

  • EDITLogBack Syslog 不工作 java

    我写了一个简单的项目来在 Ubuntu 中运行日志 方法如下example https examples javacodegeeks com enterprise java logback logback syslog example 应用
  • 错误:NVIDIA-SMI 失败,因为无法与 NVIDIA 驱动程序通信

    NVIDIA SMI 抛出此错误 NVIDIA SMI 失败 因为无法与 NVIDIA 通信 司机 确保安装了最新的 NVIDIA 驱动程序并且 跑步 我清除了 NVIDIA 并按照提到的步骤重新安装了它here https askubun
  • 如何在 Linux 主机上的 docker 容器中挂载目录 [重复]

    这个问题在这里已经有答案了 我想将一个目录从 docker 容器挂载到本地文件系统 该目录是网站根目录 我需要能够使用任何编辑器在本地计算机上编辑它 我知道我可以跑docker run v local path container path
  • saber sd 如何在没有 SPL 的情况下直接从 uboot 启动

    sabre sd 基于 imx 6 最大内部 RAM 约为 150Kb 然而 uboot 足够大 可以容纳在这个空间中 在这个场景中事情是如何进行的 https community freescale com docs DOC 95015
  • 如何安装和管理多个版本的 R 包

    我正在开发一个使用 R 进行可重现计算的框架 我正在努力解决的一个问题是 某些 R 代码可能在包的 X Y Z 版本中完美运行 但是为什么你在 3 年后尝试重现它 这些包已经更新了 一些功能发生了变化 代码不再运行 此问题还会影响使用包的
  • 标准头文件中的 C 编译器错误 - 未定义的 C++ 定义

    我正在尝试编译 C 程序 但收到许多错误 这些错误是在标准 C 头文件 inttypes h stdio h stat h 等 中遇到的 错误的来源是以下未定义的常量 BEGIN DECLS END DECLS BEGIN NAMESPAC
  • 我需要启用哪些权限才能使 Docker 卷正常工作?

    假设我有一个保存一些数据的 Docker 容器 我希望这些数据能够持续存在 如果容器被停止 删除 升级等 我仍然希望数据位于主机操作系统文件系统上的可访问位置 目前 我的解决方案是创建一个目录 srv service name在我的主机上
  • 带有 CUDA 的 Tensorflow:导入错误

    我已经按照 NVIDIA 教程中的说明一步步安装了 TensorFlow Ubuntu 16 04 桌面版 GTX 970 http www nvidia com object gpu accelerated applications te
  • Jenkins中找不到环境变量

    我想在詹金斯中设置很多变量 我试过把它们放进去 bashrc bash profile and profile of the jenkins用户 但 Jenkins 在构建发生时找不到它们 唯一有效的方法是将所有环境变量放入Jenkinsf
  • 如何在 Ubuntu VirtualBox 中运行 Meteor 应用程序并使用 Windows 主机上的编辑器进行编辑?

    我希望在运行 Ubuntu 的 virtualbox 来宾中运行一个用于开发目的的流星服务器 该项目将位于主机上的一个文件夹内 该文件夹将共享给来宾 该文件夹本身位于 Dropbox 文件夹内 这样我可以在多个虚拟机和工作站之间共享开发 但
  • nslookup 报告“无法解析 '(null)': 名称无法解析”,尽管它成功解析了 DNS 名称

    我在 ubuntu 上 并且正在运行 docker 默认桥接网络 我有 Zookeeper kafka 的容器化版本 以及我编写的与 kafka 对话的应用程序 I do a docker exec it
  • 无法使用maven编译java项目

    我正在尝试在 java 16 0 1 上使用 maven 构建 IntelliJ 项目 但它无法编译我的项目 尽管 IntelliJ 能够成功完成 在此之前 我使用maven编译了一个java 15项目 但我决定将所有内容更新到16 0 1
  • Docker 错误绑定:地址已在使用中

    当我跑步时docker compose up在我的 Docker 项目中 它失败并显示以下消息 启动用户层代理时出错 监听 tcp 0 0 0 0 3000 绑定 地址已在使用中 netstat pna grep 3000 显示这个 tcp
  • Tomcat从Eclipse和startup.sh启动

    奇怪的事情发生了 我可以从 Eclipse 和startup sh 启动Tomcat 从 Eclipse 运行我可以访问 localhost 8080 而从startup sh 运行时我不能 可能是什么问题呢 Ubuntu 11 10 在
  • 如何在 GNU/Linux 上设置 Subversion (SVN) 服务器 - Ubuntu [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一台运行 Ubuntu 的笔记本电脑 我想将其用作 Subversion 服务器 既让我自己在本地承诺 也让其他人远程承诺 要使其
  • Rstudio 更有意义的窗口标题

    我在 Ubuntu 16 04 下使用 R studio 版本 1 0 143 窗口标题仅显示一个非常无信息的 RStudio 我希望至少有当前选项卡的名称 或者最好是与此选项卡对应的文件的完整路径 在 Windows 下 完整路径似乎出现
  • Nginx 作为负载均衡器,具有 75% 和 25% 加权路由

    我是 Nginx 新手 我有两台服务器 serverA 和 serverB 我希望 75 的请求发送到 serverA 其余 25 的请求发送到 serverB 这可能吗 使用nginx加权路由 stream upstream stream
  • BASH 中的空函数

    我正在使用 FPM 工具创建 deb 包 此工具在从支持的文件中删除包之前 之后创建 不幸的是FPM生成的bash脚本包含这样的函数 dummy 该脚本退出时出现错误 语法错误 意外 BASH 不允许空函数吗 哪个版本的 bash linu
  • 在 ubuntu 中找不到 .android 文件夹 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在哪里可以找到 android在 Ubuntu 中 我想使用debug keystore 转到您的主文件夹并按 ctrl h 瞧
  • Eclipse Kepler 在 64 位 ubuntu 上冻结

    几天前我刚刚将 Ubuntu 升级到 14 04 并在此过程中从 32 位切换到 64 位 从那时起 Eclipse 就变得非常不稳定 运行几分钟后 它将开始随机冻结越来越长的时间 特别是在代码完成时 已经必须禁用它 而且在剪切 粘贴时 偶

随机推荐

  • 理论基础 —— 排序 —— 直接选择排序

    概述 直接选择排序又称简单选择排序 xff0c 是一种不稳定的排序方法 xff0c 其是选择排序中最简单一种 xff0c 其基本思想是 xff1a 第 i 趟排序再待排序序列 a i a n 中选取关键码最小的记录 xff0c 并和第 i
  • 最大跨度值(信息学奥赛一本通-T1063)

    题目描述 给定一个长度为n的非负整数序列 xff0c 请计算序列的最大跨度值 最大跨度值 61 最大值减去最小值 输入 一共2行 xff0c 第一行为序列的个数n xff08 1 n 1000 xff0c 第二行为序列的n个不超过1000的
  • 与指定数字相同的数的个数(信息学奥赛一本通-T1068)

    题目描述 输出一个整数序列中与指定数字相同的数的个数 输入包含2行 xff1a 第1行为N和m xff0c 表示整数序列的长度 N 100 和指定的数字 xff1b 第2行为N个整数 xff0c 整数之间以一个空格分开 输出为N个数中与m相
  • 【洛谷】题解目录

    1 新手村 关卡1 1 洛谷的第一个任务 超级玛丽游戏 xff08 洛谷 P1000 xff09 xff1a 点击这里 A 43 B Problem xff08 洛谷 P1001 xff09 xff1a 点击这里小玉买文具 xff08 洛谷
  • 家谱树(信息学奥赛一本通-T1351)

    题目描述 有个人的家族很大 xff0c 辈分关系很混乱 xff0c 请你帮整理一下这种关系 给出每个人的孩子的信息 输出一个序列 xff0c 使得每个人的后辈都比那个人后列出 输入 第1行一个整数N xff08 1 N 100 xff09
  • 数的划分(洛谷-P1025)

    题目描述 将整数 n 分成 k 份 xff0c 且每份不能为空 xff0c 任意两个方案不相同 不考虑顺序 例如 xff1a n 61 7 xff0c k 61 3 xff0c 下面三种分法被认为是相同的 1 1 5 1 5 1 5 1 1
  • 外网访问内网服务器设置方法(路由器设置)

    A 外网访问内网服务器的设置方法 实验室有一台服务器 xff0c 现有外网访问该服务器的需求 xff0c 网上有各种教程 xff0c 但是有些地方比较模糊 xff0c 不甚详细 xff0c 现将我的设置记录如下 xff0c 作为参考 目前的
  • Tesseract OCR数码管数字的样本训练

    Tesseract默认情况下基本无法对LED数码管显示屏进行识别 但由于Tesseract具有样本机器学习训练的能力 xff0c 因此可利用该技术实现Tesseract对LED数码管的OCR识别 xff0c 这需要对图片进行预处理 一 图像
  • MYSQL基础之 视图

    概念 什么是视图 xff1f 视图是基于 SQL 语句的结果集的可视化的表 当然视图也是数据库中对象之一 xff0c 其它的对象包括 xff1a 表 xff0c 数据字典 xff0c 约束 索引 xff0c 触发器 xff0c 存储过程 x
  • shareSDK配置以及遇到的问题

    首先需要从cocoa pods导入 pod 39 ShareSDK3 39 pod 39 MOBFoundation 39 pod 39 ShareSDK3 ShareSDKUI 39 pod 39 ShareSDK3 ShareSDKPl
  • Uncaught TypeError: XXX is not a function解决

    后台没有错误 xff0c 前端一直显示 Uncaught TypeError withdraw is not a function 错误 xff0c 代码如下 xff1a lt span class hljs keyword div spa
  • 第9章 舵机控制

    有一种电机可以在程序的控制下 xff0c 在一定范围内连续改变输出轴角度 并且可以保持住 这种电机最早被用在航模和船模等遥控模型中 xff0c 控制各种舵面的转动 xff0c 这就是舵机 现在舵机除了运用在 遥控模型中 xff0c 也大量的
  • apt-get update GPG 错误:由于没有公钥,无法验证下列签名(两种解决办法)

    在添加aliyun的源之后update出现GPG错误 xff0c 找到两个解决办法 span class hljs variable sudo span apt span class hljs attribute get span upda
  • GD32F305单片机MDK烧写程序后不运行解决办法

    1 可能原因 程序编译后size大于或者接近MCU内部flash空间 xff0c 因为某种原因编译器没有报错 xff0c 程序恰好还能烧写进MCU xff0c 但是运行出错 2 解决办法 一 优化代码大小 xff0c 减小占用flash的大
  • 三、Qt下Dbus环境配置(windows)

    文章目录 windows环境配置1 下载2 如何使用 xff1f 3 测试 D Bus最主要的用途是在Linux桌面环境为进程提供通信 xff0c 同时能将Linux桌面环境和Linux内核事件作为消息传递到进程 DBUS是一种很方便的IP
  • ./configure 的用法

    亲身实验的configure用法 xff0c 如果对你有帮助的请点赞 关注和收藏三联哦 xff01 1 当交叉编译给ARM平台的库时 当编译器是arm linux gnueabihf时 xff0c host为编译器前两个词arm linux
  • LInux下的网络ioctl使用

    最近需要修改Linux下的网络参数 xff0c 遂将Linux下用于控制网路参数的 ioctl常用函数记录一下 xff0c 使用的时候注意使包裹对应的头文件 xff0c 其中sockios h文件包含所有的操作命令字 xff0c inclu
  • 如何获得memcpy的最佳效率

    当进行内存拷贝的时候 xff0c 我们一般都会使用memcpy函数 xff0c 尽管该函数经过不断的优化 xff0c 但是有时候我们会发现直接使用该函数的效率并不是最高的 下面以图片复制来进行效率测试 xff0c 图片共有5种分辨率 xff
  • codeblocks如何在打开多个工程下运行指定工程的main

    在使用codeblocks时 xff0c 有时候会遇到打开多个工程的main cpp后 xff0c codeblocks会默认使用后打开的工程 xff0c 无论是编译还是运行 那么就需要激活我们需要运行的工程 一开始打开一个工程是这样的 接
  • Ubuntu下的网络发包和抓包工具

    将最近在网络开发中用到的一些发包和抓包工具使用方法总结如下 xff0c 作者总结不易 xff0c 对你有帮助的请点赞 关注和收藏三联哦 xff01 1 packEth发包工具的使用方法 a 安装方法 sudo apt get install