pktgen网络测试工具介绍

这篇具有很好参考价值的文章主要介绍了pktgen网络测试工具介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

pktgen是一款网络测试工具,可以用于压力测试、性能测试、负载均衡测试等方面。它使用Lua脚本来生成和发送数据包,并且支持多线程处理。

pktgen可以在Linux系统上运行,支持多种协议和数据包类型,如TCP、UDP、ICMP、ARP等。用户可以通过命令行或者图形界面来控制pktgen的运行。

pktgen还提供了详细的统计信息和日志记录功能,可以帮助用户更好地分析测试结果。同时,pktgen的开源性和社区支持也使得它成为了一个非常受欢迎的网络测试工具。

网上有很多讲解pktgen的文章,但总是不够全面细致,看完之后自己还是不会写pktgen测试脚本,为此本文对pktgen进行详细的阐述,让大家看完本文后能够自己动手写pktgen shell.

  1.pktgen简介

  pktgen是一个位于linux内核层的高性能网络测试工具,由瑞士皇家理工大学的TSlab实验室的Robert Olsson开发的(现在应该不在皇家理工了),主要用来测试网络驱动与网卡设备,支持多线程,能够产生随机mac地址、IP地址、UDP端口号的数据包,pktgen 的作者使用多CPU处理器在不同的PCI总线(pci 、pcie等总线)上用千兆以太网卡做过测试(pktgen的表现依赖于CPU处理速率、内存延时、pci总线速率等硬件参数),发送数据速率甚至可以大于10GBit/s。可见是可以满足大多数的网卡等测试需求。

  pktgen的配置与统计信息查看都使用/proc文件系统完成,/proc文件系统是一种特殊的,有软件创建的文件系统,内核使用/proc文件系统向外界导出信息,外界也可以通过它配置内核态的一些进程的参数,如ps top uptime等linux发行版中的很多工具就是通过/proc实现的.在大多情况下,我们只用/proc读出数据(用于调试内核驱动等),而在pktgen中配置命令就用到了/proc的写入数据功能。

  2.使用pktgen进行发包实验

 现在版本的linux发行版大多加入了pktgen,使用以下命令加载pktgen模块:

1

#modprobe pktgen

  然后你将在你的电脑的/proc/net/pktgen看到以下文件:

1

kpktgend_0  kpktgend_1  kpktgend_2  kpktgend_3  pgctrl

  其中kpktgen_*的多少是根据你的CPU的个数决定的,如我的机子的CPU数目为4,则有四个此文件。

  通过命令cat /proc/net/pktgen/pgctrl可以查看pktgen的版本等信息:

1

#cat /proc/net/pktgen/pgctrl<br>Packet Generator for packet performance testing. Version: 2.74

  2.1使用pktgen一些需要注意的地方

  1)中断亲和力

  当使用某个线程(kpktgend_x)通过某个端口(ethx)发送(接受)数据时,我们应该把这个端口所对应的中断绑定到某一个CPU上,从而防止CPU的变动(操作系统引起的)导致CPU缓存的丢失。具体做法如下

  首先,通过以下命令查看ethx所对应的中断,在这里我们以eth3为例


# cat /proc/interrupts | grep eth3

47: 45836 0 0 0 PCI-MSI-edge eth3-TxRx-0
48: 45836 0 0 0 PCI-MSI-edge eth3-TxRx-1
49: 45836 0 0 0 PCI-MSI-edge eth3-TxRx-2
50: 45836 0 0 0 PCI-MSI-edge eth3-TxRx-3
51: 0 0 0 0 PCI-MSI-edge eth3:lsc

 由上可以看出eth3使用了五个中断号,为47-51,我们在这里将其都绑定在CPU0上

echo 1 > /proc/irq/47/smp_affinity

echo 1 > /proc/irq/48/smp_affinity

echo 1 > /proc/irq/49/smp_affinity

echo 1 > /proc/irq/50/smp_affinity

echo 1 > /proc/irq/51/smp_affinity

在文件 /proc/irq/51文章来源地址https://www.toymoban.com/news/detail-825562.html

到了这里,关于pktgen网络测试工具介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 性能测试工具 Lmbench 的使用方法以及解析运行结果

    Lmbench 是一款简易可以移植的内存测试工具,其主要功能有,带宽测评(读取缓存文件、拷贝内存、读/写内存、管道、TCP),延时测评(上下文切换、网络、文件系统的建立和删除、进程创建、信号处理、上层系统调用、内存读入反应时间)等功能。 官网地址:http://www.bit

    2023年04月18日
    浏览(60)
  • 网络安全|渗透测试入门学习,从零基础入门到精通—动态分析技术工具OllyDbg界面介绍

    目录 动态分析技术调试器 什么是OllyDbg OllyDbg能干什么 OllyDbg窗口介绍 1、反汇编面板窗口 2、信息面板窗口 3、数据面板窗口 4、寄存器面板窗口 5、栈面板窗口 动态分析技术中最重要的工具是调试器,分为用户模式和内核模式两种类型。用户模式调试器是指用来调试用户模式

    2024年02月11日
    浏览(51)
  • 基于web应用的UI自动化、跨浏览器测试、测试结果分析:Selenium 开源的自动化测试工具基础教程

    作者:禅与计算机程序设计艺术 Selenium是一个开源的自动化测试工具,它提供了基于web应用的UI自动化、跨浏览器测试、测试结果分析等功能。它提供的功能包括:自动化控制浏览器、操纵表单、点击链接及按钮、验证页面元素、执行JavaScript代码、生成PDF文件、模拟移动设备

    2024年02月09日
    浏览(49)
  • selenium-java web自动化测试工具抓取百度搜索结果实例

     🔥 交流讨论: 欢迎加入我们一起学习! 🔥 资源分享 : 耗时200+小时精选的「软件测试」资料包 🔥  教程推荐: 火遍全网的《软件测试》教程   📢 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! selenium-java web自动化测试工具抓取百度搜索结果实例 这种方式抓百度

    2024年03月14日
    浏览(69)
  • 压力测试与测试工具jmeter的介绍

    目录 一、性能指标 二、jmeter (一)JMeter 安装 (二)JMeter 压测示例 1、添加线程组 2、添加 HTTP 请求  3、添加监听器 4、启动压测查看分析结果 (三)JMeter Address Already in use 错误解决   压力测试考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在。压测

    2024年02月14日
    浏览(50)
  • 数据接口测试工具 Postman 介绍!

    此文介绍好用的数据接口测试工具 Postman,能帮助您方便、快速、统一地管理项目中使用以及测试的数据接口。 1. Postman 简介 Postman 一款非常流行的 API 调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如 Jmeter、soapUI 等。 不过,对于开发过程中

    2024年02月04日
    浏览(57)
  • Cantata 测试工具基本使用介绍

    写本文是因为没有带办公电脑,在个人电脑上先写,然后复制到公司内部网络。需要软件自行联系国内代理商,勿扰 概述 Cantata QA 工具是德国斯图加特的一家名为QA System技术股份有限公司的产品,国内名称为北京旋极信息技术股份有限公司,在北京上海深圳均有办公点。 工

    2024年02月12日
    浏览(42)
  • 前端测试指南:Vue3 测试工具介绍与使用

    1.1 前端测试的重要性 在现代前端开发中,测试已经成为了必不可少的一环。测试可以保证代码的质量、可维护性和可靠性,防止代码的潜在错误和漏洞。同时,测试可以让开发者更加自信地提交代码和合并代码,以及更快地解决问题。因此,测试已经成为了前端开发中不可

    2024年02月10日
    浏览(53)
  • 聊聊模糊测试,以及几种模糊测试工具的介绍!

    以下为作者观点: 在当今的数字环境中,漏洞成为攻击者利用系统漏洞的通道,对网络安全构成重大威胁。这些漏洞可能存在于硬件、软件、协议实施或系统安全策略中,允许未经授权的访问并破坏系统的完整性。 根据 \\\"常见漏洞与暴露\\\"(Common Vulnerabilities and Exposures,CVE)

    2024年02月04日
    浏览(82)
  • 性能测试工具locust压测介绍

    官方文档:https://docs.locust.io/en/stable/index.html 1、初识locust         Locust 完全基于Python 编程语言,采用python 编写压测脚本,且所有请求完全基于requests库。除了 HTTP/HTTPS 协议,Locust 也可以测试其它协议的系统,只需要采用Python调用对应的库进行请求描述即可。locust是一个

    2024年02月07日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包