09 用户态跟踪:如何使用eBPF排查应用程序?

09 用户态跟踪:如何使用eBPF排查应用程序?

sudo bpftrace -e 'usdt:/usr/bin/python3:function__entry { printf("%s:%d %s\n", str(arg0), arg2, str(arg1))}'

-*- coding: UTF-8 -*-

import socket

from socket import SOL_SOCKET, SO_REUSEADDR

import subprocess

import struct

import json

PORT = 18284

#简单TCP通信

def main():

tcpSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

print(tcpSocket)

tcpSocket.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)

tcpSocket.bind(('127.0.0.1', PORT))

tcpSocket.listen(5)

print('start....')

while True:

conn, client_addr = tcpSocket.accept()

print('new client connected ', conn, client_addr)

while True:

try:

print('recv data ...')

data = conn.recv(1024)

if len(data) == 0:

break

print('recv data is ', data)

conn.send(data.upper())

except ConnectionResetError:

break

conn.close()

phone.close()

main()

/usr/lib/python3.9/socket.py:220 init

/usr/lib/python3.9/socket.py:243 repr

/usr/lib/python3.9/socket.py:513 family

/usr/lib/python3.9/socket.py:99 _intenum_converter

/usr/lib/python3.9/enum.py:358 call

/usr/lib/python3.9/enum.py:670 new

/usr/lib/python3.9/socket.py:519 type

/usr/lib/python3.9/socket.py:99 _intenum_converter

/usr/lib/python3.9/enum.py:358 call

/usr/lib/python3.9/enum.py:670 new

/usr/lib/python3.9/enum.py:740 str

/usr/lib/python3.9/enum.py:740 str

/usr/lib/python3.9/socket.py:286 accept

/usr/lib/python3.9/socket.py:513 family

/usr/lib/python3.9/socket.py:99 _intenum_converter

/usr/lib/python3.9/enum.py:358 call

/usr/lib/python3.9/enum.py:670 new

/usr/lib/python3.9/socket.py:519 type

/usr/lib/python3.9/socket.py:99 _intenum_converter

/usr/lib/python3.9/enum.py:358 call

/usr/lib/python3.9/enum.py:670 new

/usr/lib/python3.9/socket.py:220 init

/usr/lib/python3.9/socket.py:243 repr

/usr/lib/python3.9/socket.py:513 family

/usr/lib/python3.9/socket.py:99 _intenum_converter

/usr/lib/python3.9/enum.py:358 call

/usr/lib/python3.9/enum.py:670 new

/usr/lib/python3.9/socket.py:519 type

/usr/lib/python3.9/socket.py:99 _intenum_converter

/usr/lib/python3.9/enum.py:358 call

/usr/lib/python3.9/enum.py:670 new

/usr/lib/python3.9/enum.py:740 str

/usr/lib/python3.9/enum.py:740 str

相关推荐
Aurorar0rua4 小时前
CS50 x 2024 Notes C -14
c语言·开发语言·学习方法
小短腿的代码世界5 小时前
从.qrc到rcc编译器:Qt资源系统的隐秘运作机制与大型项目性能突围
开发语言·qt
MY_TEUCK5 小时前
【2026最新Python+AI学习基础】Python 入门笔记篇
笔记·python·学习
2401_833269306 小时前
Java网络编程入门
java·开发语言
青瓦梦滋6 小时前
C++的IO流与STL的空间配置器
开发语言·c++
赢乐6 小时前
大模型学习笔记:检索增强生成(RAG)架构
人工智能·python·深度学习·机器学习·智能体·幻觉·检索增强生成(rag)
五月君_6 小时前
Bun v1.3.14 发布,Rust 版即将进 Claude Code 内测,下一版可能就告别 Zig
开发语言·后端·rust
鱼很腾apoc7 小时前
【学习篇】第20期 超详解 C++ 多态:从语法规则到底层原理
java·c语言·开发语言·c++·学习·算法·青少年编程
浪里行舟8 小时前
你的品牌正在被AI“遗忘”?用BuildSOM找回搜索的下一个风口
人工智能·python·程序员
不吃土豆的马铃薯8 小时前
4.SGI STL 二级空间配置器 allocate 与_S_refill 源码解析
c语言·开发语言·c++·dreamweaver·内存池