探析如何使用SystemTap观测TCP Backlog

yizhihongxing

使用SystemTap观测TCP Backlog的攻略如下所示:

1. 确认SystemTap是否已安装

可以在终端中输入以下命令来检查系统是否已经安装了SystemTap:

stap -V

若已安装,会输出SystemTap的版本信息,若未安装,则需要通过系统包管理器进行安装。

2. 编写SystemTap脚本

编写SystemTap脚本来观测TCP Backlog。以下是一个示例脚本:

global backlog_array
probe tcp.sendmsg
{
        backlog_array[pid(), execname()] <<< $skb->sk->sk_backlog.len;
}
probe end
{
        foreach ([pid+, execname] in backlog_array) {
                printf("%d %s: backlog=%d\n", pid, execname, @sum(backlog_array[pid, execname]));
        }
}

上述脚本含有两个探针。第一个探针会在TCP sendmsg事件发生时,记录当前进程的ID、名称和TCP backlog的长度;第二个探针则会在所有探针执行完后汇总所有进程的TCP backlog,输出每个进程的ID、名称以及总ACK backlog长度。

3. 使用SystemTap运行脚本

可以输入以下命令来使用SystemTap运行脚本:

sudo stap -g <script_filename>

其中,<script_filename>为你的SystemTap脚本文件名。运行后,终端会输出收集到的TCP backlog信息。

示例1:检测HTTP服务器中的TCP backlog

假设我们要检测一个HTTP服务器中的TCP backlog,可以使用以下命令来启动该服务器(需要先安装Python的SimpleHTTPServer模块):

python -m SimpleHTTPServer 80

然后,在另一个终端中运行我们编写的SystemTap脚本,获得TCP backlog信息:

sudo stap -g <script_filename>

可以通过浏览器访问HTTP服务器,使其积累一些TCP backlog。然后,终端将输出所有积累的TCP backlog信息。

示例2:检测SSH连接中的TCP backlog

假设我们要检测一个SSH连接中的TCP backlog,可以先使用以下命令启动一个SSH服务器:

sudo apt-get install openssh-server
sudo service ssh start

然后,使用以下命令来连接SSH服务器:

ssh <username>@<server_address>

连接成功后,在SSH会话中输入以下命令来生成一些TCP backlog:

yes > /dev/null &

然后,在另一个终端中运行我们编写的SystemTap脚本,获得TCP backlog信息:

sudo stap -g <script_filename>

可以看到,终端将输出SSH进程的ID、名称和积累的TCP backlog长度。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:探析如何使用SystemTap观测TCP Backlog - Python技术站

(0)
上一篇 2023年5月30日
下一篇 2023年5月30日

相关文章

  • linux 基础(2) 文件权限及其修改

    文件的权限属性 在 linux 中,每个文件都有唯一的“所属者”(user)和“所属群组”(group)。owner 和 group 都对文件有特殊的权限 输入ls -l,就可以详细查看每个文件的权限属性。 我们可以看到,用户名和群组名可以是相同的。一个群组可以只包含一个用户,也可以包含多个用户。 rwx 权限 ls -l的第一行一定是一个长度为10的字符串…

    Linux 2023年4月11日
    00
  • Linux命令之—nl

    命令简介 nl命令在linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能。   命令格式 nl [选项]… [文件]… 命令参数 命令功能 nl 命令读取 File 参数(缺省情况下标准输入),计算输入中的…

    Linux 2023年4月13日
    00
  • Linux下利用docker搭建elasticsearch(单节点)

    #elasticsearch 6.x和7.x版本有很多不一样需要确认 docker pull docker.elastic.co/elasticsearch/elasticsearch:7.3.2 2. 启动容器 docker run -d –name es -p 9200:9200 -p 9300:9300 -e “discovery.type=sing…

    Linux 2023年4月13日
    00
  • 最新超详细虚拟机VMware安装Kali Linux的图文教程

    最新超详细虚拟机VMware安装Kali Linux的图文教程 本教程将会详细讲解在虚拟机VMware上安装Kali Linux的整个过程,以确保您可以轻松而顺利地在您的计算机上安装Kali Linux系统。 准备工作 在开始安装Kali Linux前,我们需要先准备以下物品: VMware虚拟机软件 Kali Linux ISO安装镜像 推荐4GB以上RA…

    Linux 2023年5月24日
    00
  • Linux xlsclients命令

    Linux xlsclients 命令用于显示当前 X 服务器上所有的客户端的相关信息。 命令格式 xlsclients [-a displayname] [-display displayname] [-l] [-m maxcmdlen] [-r] [-u] [-version] [-nostdin] [pattern [pattern …]] 命令参…

    Linux 2023年3月28日
    00
  • linux简单命令8—用户登录查看命令

    ———————————————————————————————————–    ctrl+z它放到后台,还在耗资源要少用,所以尽量不用它。      

    Linux 2023年4月12日
    00
  • 服务器遭受攻击之后的常见思路

    哈喽大家好,我是咸鱼   不知道大家有没有看过这么一部电影:   这部电影讲述了男主是一个电脑极客,在计算机方面有着不可思议的天赋,男主所在的黑客组织凭借着超高的黑客技术去入侵各种国家机构的系统,并引起了德国秘密警察组织、欧洲刑警组织的重视   刚开始看的时候以为是一部讲述黑客的电影,到后面才发现其实是讲“社会工程学”   好了开始今天的正题——跟大家聊聊服…

    Linux 2023年4月23日
    00
  • Kali Linux安装VMware tools安装过程及VM安装vmtools按钮灰色

    安装VMware tools是为了提升虚拟机性能和功能的关键步骤之一,下面是在Kali Linux虚拟机中安装VMware tools的完整攻略,以及解决VM安装vmtools按钮灰色的问题。 1. 安装VMware tools步骤 第一步:挂载VMware tools镜像 在VMware Workstation中,选中Kali Linux虚拟机,点击VM …

    Linux 2023年5月24日
    00
合作推广
合作推广
分享本页
返回顶部