使用tcpdump实时测量网络吞吐量
以下是整理后的内容:
一分钟学会:使用tcpdump实时测量网络吞吐量
如何做到实时监控网速?TCPDUMP配合pv命令可以实现。
使用方法如下:
1 | tcpdump -i ens33 -w - | pv -bert >/dev/null |
解释:
- tcpdump: 网络数据包分析工具
- -i 选项: 指定要捕获的接口,此处是ens33
- -w -: 将捕获的数据写入标准输出
- |: 管道符,将tcpdump的输出传递给pv命令
- pv: 测量数据通过的速率
- -bert: pv的选项,用于显示传输速率、预计剩余时间等信息
/dev/null: 丢弃pv的输出内容,只保留统计信息
这个命令组合可以快速、简单、直观地实时监控网络吞吐量。
ens33 这里指的是什么?
ens33 是一个网络接口的名称。在Linux系统中,网络接口通常用这种格式的名称来表示。让我详细解释一下:
网络接口命名:
在现代Linux系统中,网络接口的命名遵循一定的规则,通常由几个部分组成:- “en” 表示Ethernet(以太网)
- “s” 可能表示它是一个PCI热插拔槽(PCI hotplug slot)
- “33” 是一个数字标识符,可能表示设备的某种编号或位置
接口类型:
ens33 通常是一个以太网接口。它可能对应于物理网卡,也可能是虚拟网络接口。常见场景:
- 在物理机上,ens33 可能是主要的网络接口。
- 在虚拟机环境中(如VMware),ens33 常常是默认创建的虚拟网络接口。
查看和识别:
- 在Linux系统中,你可以使用
ip a或ifconfig命令来查看所有网络接口,包括 ens33。
- 在Linux系统中,你可以使用
其他可能的命名:
- 不同的Linux发行版或配置可能会有不同的命名方式,如 eth0, enp0s3 等。
在tcpdump中的使用:
当使用 tcpdump 时,-i ens33 指定要在 ens33 这个接口上捕获网络流量。
总之,ens33 在这个上下文中就是指要监控的特定网络接口。如果你在自己的系统上使用这个命令,可能需要根据实际情况替换为你系统中的正确接口名称。
ens33 是一种网络接口名称,通常在Linux系统中使用。具体解释如下:
网络接口:它代表了计算机上的一个网络连接点,可以是物理的(如以太网卡)或虚拟的。
命名规则:在较新的Linux系统中,特别是使用systemd的系统,网络接口使用”可预测的网络接口名称”规则。这个规则产生的名称通常包含以下部分:
- en:表示Ethernet(以太网)
- s:表示它是一个PCI Express热插拔插槽上的网卡
- 33:是一个特定的索引号或标识符
常见场景:ens33 经常在虚拟机环境中见到,比如VMware虚拟机中的默认网络适配器名称就常常是ens33。
替代名称:在older的Linux系统或其他配置中,你可能会看到像eth0、eth1这样的名称,它们是传统的网络接口命名方式。
查看接口:在Linux系统中,你可以使用
ifconfig或ip addr命令来查看所有网络接口的列表和详细信息。
在tcpdump命令中使用 -i ens33 意味着指定捕获ens33这个网络接口上的所有数据包。如果你的系统上主要的网络接口有不同的名称,你需要相应地修改这个参数。
感觉eth0的情况更多
自定义别名的妙用
tarthis
这是从图片中提取的命令:
1 | alias tarthis='( ( D=`builtin pwd`; F=$(date +$HOME/`sed "s,[/ ],#,g;s,^.*,<<< ${D/${HOME}/}#-%F.tgz);"`; tar --ignore-failed-read --transform "s,^${D%/*},`date +${D%/*}.%F`,S" -czPf "$F" "$D" &>/dev/null ) & )' |
这个命令定义了一个名为 tarthis 的别名,它执行一系列复杂的操作,主要涉及创建当前目录的压缩归档。命令使用了 tar 工具,并包含了一些日期格式化、路径替换和错误重定向等操作。
我来解释一下这个 tarthis 别名的功能:
首先,它获取当前工作目录并存储在变量
D中。然后,它创建一个文件名
F,这个文件名基于当前日期和home目录路径,经过一些字符替换后形成。主要功能是使用
tar命令创建一个压缩归档:--ignore-failed-read: 忽略读取失败的文件--transform: 在归档中改变文件名,加入日期信息-czPf: 创建gzip压缩的归档,保留绝对路径
归档的目标是当前目录 (
$D)所有输出都被重定向到
/dev/null,即不显示任何输出整个过程在后台运行 (
&符号)
这个别名的主要用途是快速创建当前目录的备份,文件名中包含日期信息,并且在后台运行以不影响当前终端的使用。
这是一个相当复杂的命令,综合运用了多种shell编程技巧。使用时要小心,因为它会在不提示的情况下在后台创建可能很大的归档文件。
手搓统计活跃用户CPU使用的脚本
1 |
|
这个脚本会统计每个用户的CPU使用率,并按照使用率从高到低排序输出。
ssh传输文件小技巧
从图片中提取的命令如下:
1 | s2c () { scp "$@" ${SSH_CLIENT%% *}:~/; } |
这是两个bash函数定义:
s2c(可能代表 “server to client”):- 功能:将文件从当前服务器传输到SSH客户端(通常是你的本地机器)。
- 用法:
s2c file1 file2 ... - 工作原理:使用
scp命令将指定的文件传输到 SSH 客户端的家目录(~)。
c2s(可能代表 “client to server”):- 功能:将文件从SSH客户端(通常是你的本地机器)传输到当前服务器。
- 用法:
c2s remote_file1 remote_file2 ... - 工作原理:使用
scp命令将 SSH 客户端上指定的文件传输到当前目录(.)。
这两个函数都利用了 SSH_CLIENT 环境变量,该变量包含了连接到服务器的 SSH 客户端的 IP 地址。${SSH_CLIENT%% *} 提取了这个 IP 地址。
这些函数提供了一种便捷的方式来在 SSH 会话中在服务器和客户端之间传输文件,无需手动指定完整的 IP 地址或主机名。
这个对我作用不大,我没调通
使用diff命令对比目录差异
一分钟学会:使用diff命令对比目录差异
diff命令绝对是系统管理员最容易忽视的重要命令。通常它用来对比文件内容之间的差异,实际上,diff还可以用于对比两个目录之间的差异,然后以人类可读的格式进行输出。
例子1:
输出结果显示Y目录下才有这三个文件或目录,也就是说X目录并没有这三个文件。验证一下,分别列出这两个目录,可以看到确实如此。这种方法适用于快速的大致对比一下差异。
例子2:
还是两个目录,这一次详细对比目录下的所有文件。可以看到X目录中存在该文件,因为我们手动创建了,所以Y目录这里就留空了。同理我们在X目录下删除了sian fig目录,所以这里整片都空了。
通过这种可视化的方式,能够快速的进行对比,是不是相当有用?
原视频链接:https://www.bilibili.com/video/BV1of421Q7qg/
大致对比两个目录的差异: (比较 backup-X 和 backup-Y 两个目录的差异,同时忽略错误输出。)
diff -urp backup-X backup-Y 2>/dev/null
细致对比文件差异:
diff <(cd backup-X && find | sort) <(cd backup-Y && find | sort) -y | grep -E '>|<'
这条命令的作用是:
- 先进入
backup-X目录,查找所有文件并排序。 - 再进入
backup-Y目录,查找所有文件并排序。 - 使用
diff命令比较这两个目录中所有文件的差异,并以并排格式 (-y) 输出结果。 - 最后使用
grep -E '>|<'过滤出有差异的文件。
这样就可以快速找出 backup-X 和 backup-Y 两个目录之间有哪些文件存在差异。
手搓分析文件大小分布脚本 (实用啊!)
可以接收一个参数. 不加的话就是根目录
1 |
|
这个脚本用于统计文件系统中文件的大小分布和总大小。它会遍历指定目录(默认为根目录/)下的所有文件,统计不同大小范围的文件数量,并计算总文件大小。
脚本会排除一些特殊目录如/proc、/sys等。最后,它会输出一个文件大小分布的表格和总计信息。
这个脚本使用 find 命令遍历指定目录下的所有文件,并使用 du 命令获取每个文件的大小。然后使用 awk 脚本对文件大小进行统计和格式化输出。
主要步骤包括:
- 将文件大小划分到不同的范围(以 1024 为单位)。
- 统计每个范围内的文件数量。
- 根据文件大小范围输出结果。
- 计算总文件大小并输出相应的单位。
最终输出包括文件大小范围、每个范围内的文件数量以及总文件大小。
tabs -8什么意思?
tabs -8 这个命令是用来设置 shell 中的制表符(tab)宽度为 8 个空格。
在 Unix/Linux 系统中,Tab 通常被设置为 8 个空格的宽度。但是有时候我们希望使用不同的宽度,比如 4 个空格或 2 个空格。
使用 tabs -8 命令可以将当前 shell 的 tab 宽度设置为 8 个空格。这样在代码编辑和输出的时候,文本会按照 8 个空格的宽度来进行缩进和对齐。
这个命令通常用于保持代码格式的一致性,特别是在处理一些格式化的输出时非常有用。比如在运行脚本时,设置合适的 tab 宽度可以让输出看起来更加整洁美观。
防火墙firewalld过滤出栈流量
原文链接: https://dashen.tech/2018/07/02/一分钟学会系列/
版权声明: 转载请注明出处.