环境
系统平台:Linux x86-64 Red Hat Enterprise Linux 8,Linux x86-64 Red Hat Enterprise Linux 7,Linux x86-64 SLES 12,银河麒麟 (鲲鹏),银河麒麟 (X86_64),银河麒麟(龙芯)svs,中标麒麟(飞腾)6,中标麒麟(龙芯)7
版本:9.0,5.6.5,5.6.1,4.5.8
文档用途
本文主要介绍网络抓包命令tcpdump及数据包分析工具wireshark的简单使用,帮助用户进行数据库网络网面的数据采集分析
详细信息
一、tcpdump
1、tcpdump作用
TCPDump可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,用户可以使用tcpdump抓取数据库相关的数据包进行分析。
2、tcpdump常用参数
本部分介绍在抓取数据库数据库包方面的常用参数
tcp: 这个参数指定了捕获 TCP 协议的数据包。
port: 这个参数表示仅捕获指定端口的数据包。
-i:参数指定了要监视的网络接口,即网卡名称
-n:数字格式显示地址和端口,而不是尝试进行反向 DNS 查找,可以叠加使用,-nn
-X:这个部分指示 tcpdump 在输出数据包内容时,以十六进制和 ASCII 形式显示非打印字符。
-v: 表示 verbose(冗长)-vvv连续多个V显示更多的信息。
-s0: 这个参数表示捕获整个数据包的大小,而不截断它们。
-G: 指定多少秒切换输出文件。这个参数通常与 -w 参数结合使用,用于定时切换捕获的数据包文件。
-w 将相关信息输出到文件,支持cap、pcap等格式
3、示例
#收集本地lo 5866数据库端口网络报文 (数据库本地socket登录)
tcpdump -i lo -s0 -nnX -vvv
#本地lo 5866数据库端口网络报文 (数据库本地IP登录)
tcpdump tcp port 5866 -i lo -s0 -nnX -vvv
#本地网卡 5866数据库端口网络报文(远程登陆)
tcpdump tcp port 5866 -i ens33 -s0 -nnX -vvv
#可以生成日志用wireshark进行分析 加参数 -w +文件名称即可。
tcpdump tcp port 5866 -i ens33 -s0 -nnX -vvv -w 1.pcap
#每10分钟切换一个文件。
tcpdump tcp port 5866 -i ens33 -s0 -nnX -vvv -G 600 -w /tmp/tcpdump_save_%Y_%m%d_%H%M.cap
二、wireshark
1、wireshark的安装
用户可在wireshark官网下载对应的网络包,支持中文,用户可将在数据库服务器上抓取的网络包传输到个人电脑进行分析。
2、wireshark的使用
双击打开wireshark,打开tcpdump命令运行后产生的文件即可对数据库包进行分析。
3、示例
4、其他说明
wireshark软件功能强大,本文不会对软件的功能进行详细的介绍,感兴趣的可以在网络搜索相关文档。