所有的socket通讯都是通过socket接口来的,任何family的通讯包括unix域套接都要走的,所以只要截获了socket 读写的几个syscall 就可以了解unix域套接字的发送和接受情况。
systemtap发行版本提供了个工具socktop, 位于 /usr/share/doc/systemtap/examples/network/socktop, 是个非常方便的工具, 干这个事情最合适了。
安装
为了部署 SystemTap,需要安装以下两个 RPM 包:
复制代码代码如下:
systemtap
systemtap-runtime
以 root 权限,运行以下命令安装:
复制代码代码如下:
yum install systemtap systemtap-runtime
注:在使用 SystemTap 前,需要安装内核信息包,可以运行以下命令安装:
复制代码代码如下:
stap-prep
如果安装失败,请手动安装,手动安装步骤请见手动安装内核信息包。
注:我在我的主机上运行 stap-prep 的报错信息如下
复制代码代码如下:
[root@test ~]# stap-prep
Need to install the following packages:
kernel-devel-2.6.18-308.el5.x86_64
kernel-debuginfo-2.6.18-308.el5.x86_64
Traceback (most recent call last):
File "/usr/bin/yumdownloader", line 19, in <module>
import yum
ImportError: No module named yum
problem downloading rpm(s) kernel-devel-2.6.18-308.el5.x86_64 kernel-debuginfo-2.6.18-308.el5.x86_64
手动安装必需的内核信息包
需要的内核信息包包含你内核中匹配以下字段 -devel, -debuginfo, 和 -debuginfo-common 的包。如下:
复制代码代码如下:
kernel-debuginfo
kernel-debuginfo-common
kernel-devel
需要安装和你内核对应版本的包,运行命令
复制代码代码如下:
uname -r
2.6.18-308.el5
可以指定你的内核是 2.6.18-308.el5,因此你需要的包如下:
复制代码代码如下:
kernel-debuginfo-2.6.18-308.el5.x86_64.rpm
kernel-devel-2.6.18-308.el5.x86_64.rpm
kernel-debuginfo-common-2.6.18-308.el5.x86_64.rpm
重要!!!!注意:这三个包必须与你的内核版本匹配,不能你懂的。
下载这三个 rpm 包,到 http://rpm.pbone.net 这个网站去下载。或者最简单的在 google 搜索包名。
下载 kernel-debuginfo-2.6.18-308.el5.x86_64.rpm:
wget ftp://ftp.pbone.net/mirror/ftp.redhat.com/pub/redhat/linux/enterprise/5Client/en/os/x86_64/Debuginfo/kernel-debuginfo-2.6.18-308.el5.x86_64.rpm
下载 kernel-devel-2.6.18-308.el5.x86_64.rpm:
wget ftp://ftp.pbone.net/mirror/ftp.redhat.com/pub/redhat/linux/enterprise/5Client/en/os/x86_64/Debuginfo/kernel-devel-2.6.18-308.el5.x86_64.rpm
下载 kernel-debuginfo-common-2.6.18-308.el5.x86_64.rpm:
wget ftp://ftp.pbone.net/mirror/ftp.redhat.com/pub/redhat/linux/enterprise/5Client/en/os/x86_64/Debuginfo/kernel-debuginfo-common-2.6.18-308.el5.x86_64.rpm
分别安装这三个包:
复制代码代码如下:
rpm -ivh kernel-debuginfo-common-2.6.18-308.el5.x86_64.rpm
rpm -ivh kernel-debuginfo-2.6.18-308.el5.x86_64.rpm
rmp -ivh kernel-devel-2.6.18-308.el5.x86_64.rpm
初始化测试
为了测试 stap 是否安装正确,需要运行以下命令测试:
复制代码代码如下:
stap -v -e 'probe vfs.read {printf("read performed\n"); exit()}'
socket读写查看器socktop
socktop源码里面的版权和简单的功能介绍:
使用帮助
复制代码代码如下:
$ /usr/share/doc/systemtap/examples/network/socktop -h
USAGE: socktop [-d] [-i interval] [-N num] [-P protocol]... [-f family]...
[-t stype]... [-n pname]... [-p pid]... [-u username]... [-h]
-d # print network device traffic (default: off)
-i interval # interval in seconds between printing (default: 5)
-N num # number of top processes and devices to print (default: 10)
-f family # this protocol family only (default: all)
-P protocol # this protocol only (default: all)
-t stype # this socket type only (default: all)
-n pname # this process name only (default: all)
-p pid # this process ID only (default: all)
-u username # this user only (default: all)
-c count # number of iteration
-m mod_name # generate instrumentation (but do not run)
-h # print this help text
Protocol Families:
LOCAL, INET, INET6, IPX, NETLINK, X25, AX25, ATMPVC, APPLETALK, PACKET
Protocols:
TCP, UDP, SCTP, IP, FC, ... (see /etc/protocols for complete list)
Socket Types:
STREAM, DGRAM, RAW, RDM, SEQPACKET, DCCP, PACKET
上面的使用写的很明白了,我们要过滤的是unix套接字, 每5秒报告下情况, 还顺手把网络设备的流量打出来。
复制代码代码如下:
$sudo /usr/share/doc/systemtap/examples/network/socktop -f LOCAL -i 5 -d
======================= Thu Mar 31 21:23:03 2011 ========================
------------------------------- PROCESSES -------------------------------
PID UID #SEND #RECV SEND_KB RECV_KB PROT FAMILY COMMAND
24821 50453 1 0 0 0 IP LOCAL crond
3840 0 0 2 0 0 IP LOCAL syslog-ng
-------------------------------- DEVICES --------------------------------
DEV #XMIT #RECV XMIT_KB RECV_KB
eth0 457 250 102 38
bond0 457 0 102 0
lo 24 24 2 2
eth1 0 10 0 0
=========================================================================
我们很清楚的看到了,crond在发,syslog-ng在收。
如果你想知道报文的内容的话,可以改改脚本把报文也dump出来。
玩得开心!
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
2024年11月17日
2024年11月17日
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】