一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Linux|Centos|Ubuntu|系統(tǒng)進程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務器之家 - 服務器系統(tǒng) - Linux - Linux下使用socktop來檢測socket的通訊狀況

Linux下使用socktop來檢測socket的通訊狀況

2019-07-16 20:08cnblogsfeisky Linux

這篇文章主要介紹了Linux下使用socktop來檢測socket的通訊狀況的方法,socktop為systemtap中所集成的工具,需要的朋友可以參考下

所有的socket通訊都是通過socket接口來的,任何family的通訊包括unix域套接都要走的,所以只要截獲了socket 讀寫的幾個syscall 就可以了解unix域套接字的發(fā)送和接受情況。
 
systemtap發(fā)行版本提供了個工具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 這個網(wǎng)站去下載。或者最簡單的在 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秒報告下情況, 還順手把網(wǎng)絡設備的流量打出來。
 

復制代碼

代碼如下:


$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在發(fā),syslog-ng在收。
 
如果你想知道報文的內容的話,可以改改腳本把報文也dump出來。
 
玩得開心!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: fuqer日本老师 | 亚洲第一区se | 秋霞啪啪片| 亚洲欧美日韩国产精品影院 | 精品午夜久久福利大片免费 | 白俄罗斯bbbsss | 国产午夜亚洲精品不卡 | 激情视频图片小说qvdo | 草草免费观看视频在线 | 四虎精品免费国产成人 | 精品国产人成亚洲区 | 亚欧洲乱码视频一二三区 | 亚洲高清影院 | 精品湿| 国产裸舞在线一区二区 | 暖暖免费观看高清在线 | 久久视频精品3线视频在线观看 | 555www成人网 | 无限资源在线观看高清 | 咪咪爱小说 | 欧美成人免费观看久久 | 久久久久久久99精品免费观看 | 向日葵视频app下载18岁以下勿看 | 久久久久久久伊人电影 | 荡女淫春2古装 | 日韩aⅴ在线观看 | 免费视频片在线观看大片 | 极品美女写真菠萝蜜视频 | 性刺激欧美三级在线现看中文 | 99视频网址 | 色屁屁二区 | 美女被吸乳老师羞羞漫画 | 国产在线精品亚洲第一区香蕉 | 亚洲 欧美 国产 在线 日韩 | 视频免费在线 | 成人香蕉xxxxxxx | 美女和男生搞基 | 桃乃木香奈作品在线观看 | 四虎永久免费地址在线观看 | 久久爽狠狠添AV激情五月 | 精品国产日韩一区三区 |