工业现场网络性能评估方案

最近要去一个工厂排查网络和电脑卡顿的问题,为此,我准备了以下的方案,在现场以抓包和网络监控的方式来排查。

1.评估流程

为了评估Linux系统的网络负荷,并使用tcpdump来捕获数据包进行分析,您需要遵循以下几个步骤:

1.1 安装工具

确保您的系统中已安装tcpdump。如果没有安装,可以使用包管理器安装它。例如,在Debian或Ubuntu上,你可以使用以下命令:

sudo apt-get update
sudo apt-get install tcpdump

1.2 监控网络接口

在开始捕获之前,您需要知道哪个网络接口需要监控。可以使用ipifconfig命令查看系统的接口列表:

ip link show

   或者(如果您的系统还支持ifconfig):

ifconfig -a

1.3 使用tcpdump捕获数据包:

一旦您知道了要监控的网络接口,可以使用tcpdump来捕获数据包。为了减少负荷并且只获取您需要的信息,您应该使用过滤器。例如,以下命令将只捕获所有进出指定接口的TCP流量:

sudo tcpdump -i eth0 tcp

   替换eth0为您要监控的实际接口名称。

1.4 限制捕获尺寸

长时间运行tcpdump可能会生成大量数据。为了减少影响和存储需求,您可以限制捕获的尺寸或持续时间:

sudo tcpdump -i eth0 tcp -C 100 -W 10 -w capture.pcap

   这个命令会限制每个文件最大100MB,并且只保留最新的10个文件。-w选项指定了文件的前缀。

1.5 分析捕获的数据包

一旦捕获了数据包,您可以使用像Wireshark这样的工具来进行更详细的分析。tcpdump的输出文件(在上面的例子中是capture.pcap)可以直接用Wireshark打开。

1.6 使用轻量级命令监控

如果您只是想要监控实时的网络负荷而不进行深入的数据包分析,您可以使用像iftopnload这样的轻量级工具。这些工具可以实时显示网络使用情况,但不会捕获实际的数据包内容。

   安装iftopnload的命令通常如下:

sudo apt-get install iftop

   或者

sudo apt-get install nload

   然后可以运行iftopnload来观察实时的网络流量。

1.7 定期监控与分析

如果您需要定期监控网络负荷并生成报告,可以使用cron作业来安排tcpdump运行,并使用脚本来处理和分析生成的.pcap文件。

请记住,捕获网络流量可能会受到公司政策或当地法律的限制。确保您有权执行这些操作,并且捕获的数据遵守隐私和安全规范。

2.iftop使用方法

iftop 是一个实时的网络带宽监控工具。它显示一个类似于top的界面,列出当前系统上的网络连接和它们的带宽使用情况。以下是如何使用 iftop 的基本步骤和说明:

2.1 安装iftop

如果尚未安装 iftop,您可以通过系统的包管理器进行安装。在基于Debian的系统上,使用以下命令:

sudo apt-get update
sudo apt-get install iftop

2.2 运行iftop

要运行 iftop,只需在终端中输入以下命令:

sudo iftop

   这将在默认的网络接口上显示网络流量。

2.3 指定网络接口

如果您想监视特定的网络接口,可以使用 -i 选项来指定接口。例如,要监视 eth0 接口,您可以运行:

sudo iftop -i eth0

   替换 eth0 为您想要监控的实际接口名称。

2.4 使用iftop显示选项

iftop 提供了多种显示选项,例如,可以通过按下以下键来控制 iftop 的显示输出:

  • P:显示或隐藏端口信息
  • n:显示或隐藏主机名(反向解析主机名可能会稍微增加资源使用)
  • t:切换显示模式(两行/一行)
  • T:切换显示累计流量
  • j 和 k:在连接列表中向下或向上移动
  • > 和 <:改变排序顺序
  • q:退出 iftop

2.5 过滤流量

您可以使用过滤器来显示与特定主机或服务相关的流量。例如,只监视与IP地址 192.168.1.1 相关的流量:

sudo iftop -i eth0 -F 192.168.1.1

iftop 需要root权限来运行,因为它需要访问网络接口和捕获数据包。如果您对 iftop 的更多高级功能感兴趣,可以查看其手册页以获取详细的使用说明:

man iftop

请记住,在某些系统上,您可能需要使用 sudo 来授予 iftop 必要的权限。另外,请确保您有权查看网络流量,并且您的行为符合任何相关的法律和政策要求。

3.iftop高级应用:快捷键指南

P - 切换暂停/继续显示网络流量。
h - 在交互参数界面和状态输出界面之间切换。
b - 切换是否显示平均流量图形条。
B - 切换显示2秒、10秒、40秒内的平均流量。
T - 切换是否显示每个连接的总流量。
j/k - 使用 j 键或 k 键向上或向下滚动屏幕显示当前的连接信息。
l - 打开 iftop 输出过滤功能,输入 IP 地址后,只显示与该 IP 相关的流量信息。
L - 切换显示流量刻度范围,刻度不同,流量图形条会跟着变化。
q - 退出 iftop 流量监控界面。
n - 切换 iftop 输出结果以 IP 或主机名的方式显示。
s - 切换是否显示源主机信息。
d - 切换是否显示远端目标主机信息。
t - 切换 iftop 显示格式,连续按此键可依次显示:以两行显示发送接收流量、以一行显示发送接收流量、只显示发送流量/接收流量。
N - 切换显示端口号/端口号对应服务名称。
S - 切换是否显示本地源主机的端口信息。
D - 切换是否显示远端目标主机的端口信息。
p - 切换是否显示端口信息。
1/2/3 - 根据最近 2 秒、10 秒、40 秒的平均网络流量排序。
< - 根据左边的本地主机名或 IP 地址进行排序。
> - 根据远端目标主机的主机名或 IP 地址进行排序。
o - 切换是否固定显示当前的连接。

高级应用:https://blog.csdn.net/qq_40907977/article/details/115066452

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

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

相关文章

数据仓库与数据挖掘概述

目录 一、数据仓库概述 &#xff08;一&#xff09;从传统数据库到数据仓库 &#xff08;二&#xff09;数据仓库的4个特征 &#xff08;三&#xff09;数据仓库系统 &#xff08;四&#xff09;数据仓库系统体系结构 &#xff08;五&#xff09;数据仓库数据的粒度与组织…

论文阅读_代码生成模型_CodeGeeX

英文名称: CodeGeeX: A Pre-Trained Model for Code Generation with Multilingual Evaluations on HumanEval-X 中文名称: CodeGeeX&#xff1a;一种用于代码生成的预训练模型&#xff0c;并在HumanEval-X上进行多语言评估 链接: https://arxiv.org/abs/2303.17568 代码: http…

训练1 : 老头

以前用blender做的特效 总结 头发很费时间, 需要参考和练习眼窝周边结构还有些待准确把握从光与影中揣摩轮廓形状 从少量面掌握大体, 从多数面雕刻细节

terminal下环境不统一导致的程序报错(powersell改cmd)

1.报错现象 在terminal下利用命令行执行代码显示运行环境缺包&#xff1a; 但将命令中的参数写入参数文件&#xff0c;运行train.py时&#xff0c;程序可以正常运行&#xff1a; 直接运行train.py:程序可用&#xff1a; 2.原因分析 参考文章 控制台环境和项目环境不一致问…

【Mysql】InnoDB 中 B+ 树索引的注意事项

一、根页面万年不动 在之前的文章里&#xff0c;为了方便理解&#xff0c;都是先画存储用户记录的叶子节点&#xff0c;然后再画出存储目录项记录的内节点。 但实际上 B 树的行成过程是这样的&#xff1a; 每当为某个表创建一个 B 树索引&#xff0c;都会为这个索引创建一个根…

循环队列的实现

文章目录 循环队列的概念循环队列的实现循环队列的判空和判满链表or数组 循环队列的概念 设计你的循环队列实现。 循环队列是一种线性数据结构&#xff0c;其操作表现基于 FIFO&#xff08;先进先出&#xff09;原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓…

快速下载Huggingface的大语言模型

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Huggingface是什么&#xff1f;二、基于官方huggingface-cli下载&#xff08;基础&#xff0c;断线风险&#xff09;1.安装hf下载环境2.配置环境变量3.注册…

CSAPP-信息的表示和处理

文章目录 概念扫盲思想理解经典好图安全事件 概念扫盲 1.大端高位在前&#xff0c;小端低位在前 2.逻辑运算符&#xff08;&& 、||、&#xff01;&#xff09;与位级运算&#xff08;&、|、~&#xff09;的差异 3.宏可以保证无论代码如何编译&#xff0c;都能生成…

flutterandroidx支持,【工作经验分享】

基于Linux的pc启动过程 我们都知道&#xff0c;所有的程序软件包括操作系统都是运行在内存中的&#xff0c;然而我们的操作系统一般是存放在硬盘上的&#xff0c;当我们按下开机键的时候&#xff0c;此时内存中什么程序也没有&#xff0c;因此需要借助某种方式&#xff0c;将操…

百度SEO工具,自动更新网站的工具

在网站SEO的过程中&#xff0c;不断更新网站内容是提升排名和吸引流量的关键之一。而对于大多数网站管理员来说&#xff0c;频繁手动更新文章并进行SEO优化可能会是一项繁琐且耗时的任务。针对这一问题&#xff0c;百度自动更新文章SEO工具应运而生&#xff0c;它能够帮助网站管…

chartjs 饼状图

之前要把canvas先清除掉&#xff0c;不然刷新数据&#xff0c;还会有前面的图表 function clearCanvas(){$(#donutChart).remove();$(#chartdiv).append(<canvas id"donutChart" style"min-height: 500px; height: 500px; max-height: 500px; max-width: 70%…

浅谈mysql mvcc

目录 前言 mvcc 是如何工作的&#xff1f; 数据的更新 前言 mvcc 与一个事物的隔离级别有关&#xff0c;未提交读永远读的是当前值&#xff0c;串行化是通过加锁实现&#xff0c;这两种隔离级别都与mvcc 没有任何关系。只要一提到mvcc应该想到的是读提交以及可重复读&#…

vue+element ui上传图片到七牛云服务器

本来打算做一个全部都是前端完成的资源上传到七牛云的demo&#xff0c;但是需要获取token&#xff0c;经历了九九八十一难&#xff0c;最终还是选择放弃&#xff0c;token从后端获取&#xff08;springboot&#xff09;。如果你们有前端直接能解决的麻烦记得私我哦&#xff01;…

『Linux从入门到精通』第 ㉒ 期 - 动静态库

文章目录 &#x1f490;专栏导读&#x1f490;文章导读&#x1f427;什么是库&#xff1f;&#x1f427;为什么要有库&#xff1f;&#x1f427;写一个自己的库&#x1f426;方法一&#x1f426;方法二 静态库&#x1f426;标准化&#x1f426;方法三 动态库&#x1f426;配置动…

python中自定义报错

class MyError(Exception):def __init__(self,num):#录入的数Exception.__init__(self)self.numnumdef __str__(self):return 这是我定义的第%d个异常 %(self.num)使用 try:raise MyError(4) except MyError as e:print(e)raise 其作用是指定抛出的异常名称&#xff0c;以及异常…

数据结构题目①——数组

前言 本篇文章为博主进行代码随想录——数组练习后的总结会涉及到每一道题目的详细的思路整理&#xff0c;以及本人的易错点&#xff0c;希望对大家有所帮助 数组介绍&#xff1a; 数组在C语言中就已经有所涉及&#xff0c;它是一个最基础的数据结构&#xff0c;而在数据结构中…

three 层级模型

group.remove(mesh1,mesh2);Vector3与模型位置、缩放属性 Group层级模型(树结构) 创建了两个网格模型mesh1、mesh2&#xff0c;通过THREE.Group类创建一个组对象group,然后通过add方法把网格模型mesh1、mesh2作为设置为组对象group的子对象&#xff0c;然后在通过执行scene.a…

jenkins部署maven项目

流程&#xff1a; jenkins从代码仓库读取代码&#xff0c;将代码文件放入jenkins的工作空间&#xff0c;将jenkins工作空间的代码进行打包&#xff0c;将jar包远程发送给服务器。 一&#xff1a;所需插件二&#xff1a;Tools 三&#xff1a;System&#xff1a; 配置ssh连接的…

python63-Python的循环之循环使用else

Python的循环都可以定义else代码块&#xff0c;当循环条件为False 时&#xff0c;程序会执行else代码块。如下代码示范了为while循环定义else代码块。 # !/usr/bin/env python# -*- coding: utf-8 -*-# Time : 2024/01# Author : Laopicount_i 0while count_i < 5:print(c…

Java集合相关面试题(2024大厂高频面试题系列)

1、说一说Java提供的常见集合&#xff1f;&#xff08;画一下集合结构图&#xff09; 在java中提供了量大类的集合框架&#xff0c;主要分为两类&#xff1a; 第一个是Collection 属于单列集合&#xff0c;第二个是Map 属于双列集合 在Collection中有两个子接口List和Set。…