5.79 BCC工具之tcpaccept.py解读

一,工具简介

tcpaccept工具用于追踪接受TCP套接字连接的内核函数(例如,通过accept()函数实现的被动连接;不是connect()函数)。

accept() 是一个在 UNIX-like 系统上用于套接字编程的系统调用,它在 TCP 服务器中起着关键作用。当 TCP 服务器通过 listen() 系统调用使其套接字进入被动打开模式后,它会等待客户端的连接请求。当一个客户端尝试连接到服务器时,服务器的套接字将变得可读,表明有新的连接请求到来。

这时,服务器使用 accept() 函数来接受这个连接请求,并创建一个新的套接字用于与该客户端进行通信。原始的服务器套接字则继续监听新的连接请求。

二,代码示例

#!/usr/bin/env python

from __future__ import print_function
from bcc.containers import filter_by_containers
from bcc import BPF
from socket import inet_ntop, AF_INET, AF_INET6
from struct import pack
import argparse
from bcc.utils import printb
from time import strftime

# 参数
examples = """examples:
    ./tcpaccept           # trace all TCP accept()s
    ./tcpaccept -t        # include timestamps
    ./tcpaccept -P 80,81  # only trace port 80 and 81
    ./tcpaccept -p 181    # only trace P

相关推荐

  1. 5.8 BCC工具mysqld_query.py解读

    2024-03-24 16:10:01       52 阅读
  2. 5.54 BCC工具dbstat.py解读

    2024-03-24 16:10:01       48 阅读
  3. 5.56 BCC工具funcslower.py解读

    2024-03-24 16:10:01       47 阅读
  4. 5.53 BCC工具dbslower.py解读

    2024-03-24 16:10:01       41 阅读
  5. 5.49 BCC工具rdmaucma.py解读

    2024-03-24 16:10:01       42 阅读
  6. 5.52 BCC工具dbslower.py解读

    2024-03-24 16:10:01       47 阅读
  7. 5.69 BCC工具runqlen.py解读

    2024-03-24 16:10:01       46 阅读
  8. 5.82 BCC工具tcpdrop.py解读

    2024-03-24 16:10:01       41 阅读
  9. 5.70 BCC工具runqslower.py解读

    2024-03-24 16:10:01       35 阅读
  10. 5.72 BCC工具wakeuptime.py解读

    2024-03-24 16:10:01       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-24 16:10:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-24 16:10:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-24 16:10:01       87 阅读
  4. Python语言-面向对象

    2024-03-24 16:10:01       96 阅读

热门阅读

  1. 外部提供控制程序

    2024-03-24 16:10:01       41 阅读
  2. Python基础语法(二)

    2024-03-24 16:10:01       47 阅读
  3. 大厂面试--列举并解释一下 http的所有请求方法?

    2024-03-24 16:10:01       38 阅读
  4. HTTP 及其版本详解

    2024-03-24 16:10:01       45 阅读