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

相关推荐
这里有鱼汤4 分钟前
别傻了,这些量化策略AI 10 秒就能帮你写好
后端·python
胡耀超5 分钟前
机器学习数学基础与商业实践指南:从统计显著性到预测能力的认知升级
人工智能·python·机器学习·数据挖掘·数据分析·数据科学·统计学
晨曦5432108 分钟前
图(Graph):关系网络的数学抽象
开发语言·算法·php
Ustinian_31043 分钟前
【C/C++】For 循环展开与性能优化【附代码讲解】
c语言·开发语言·c++
牵牛老人1 小时前
Qt 插件开发全解析:从接口定义,插件封装,插件调用到插件间的通信
开发语言·qt
杨荧1 小时前
基于Python的反诈知识科普平台 Python+Django+Vue.js
大数据·前端·vue.js·python·数据分析
钮钴禄·爱因斯晨1 小时前
AIGC浪潮下,风靡全球的Mcp到底是什么?一文讲懂,技术小白都知道!!
开发语言·人工智能·深度学习·神经网络·生成对抗网络·aigc
大模型真好玩1 小时前
深入浅出LangChain AI Agent智能体开发教程(九)—LangChain从0到1搭建知识库
人工智能·python·mcp
22jimmy2 小时前
JavaWeb(二)CSS
java·开发语言·前端·css·入门·基础
机器视觉知识推荐、就业指导4 小时前
面试问题详解五:Qt 信号与槽的动态管理
开发语言·qt