Socat 使用指南
Summary: Author: 张亚飞 | Read Time: 1 minute read | Published: 2016-12-24
Filed under
—
Categories:
Linux
—
Tags:
Note,
Socat 使用指南
前言
Socat
是强大易用的工具,可以实现任意Socket
的转换。
使用
socat [options] <address> <address>
options
可以查看help。
address
有一下几种形式:
- - STDIN STDOUT: 表示标准输入输出,可以就用一个横杠代替
- /var/log/syslog: 也可以是任意路径,如果是相对路径要使用./,打开一个文件作为数据流。
- TCP:127.0.0.1:1080: 建立一个TCP连接作为数据流,TCP也可以替换为UDP
- TCP-LISTEN:12345: 建立TCP监听端口,TCP也可以替换为UDP
- EXEC:/bin/bash: 执行一个程序作为数据流。
场景一
本地有个文件,我想显示在终端中
socat - /etc/sysctl.conf
场景二
有个TCP连接会连上来,我想看看会获得什么数据。 也可以测试防火墙是否拦截外网端口请求
socat TCP-LISTEN:12345 -
socat TCP-LISTEN:12345 -
socat -d -d -lf /data/kafka/socat.log TCP4-LISTEN:19092,bind=172.17.0.7,reuseaddr,fork TCP4:172.17.0.7:59092 socat -d -d -lf /data/kafka/socat.log TCP4-LISTEN:19093,bind=172.17.0.7,reuseaddr,fork TCP4:172.17.0.7:59093 socat -d -d -lf /data/kafka/socat.log TCP4-LISTEN:19094,bind=172.17.0.7,reuseaddr,fork TCP4:172.17.0.7:59094
场景三
将本地的80端口转到远程去
socat TCP-LISTEN:80,fork TCP:www.baidu.com:80
系统监控工具
sar
能查看CPU的平均信息,还能查看指定CPU的信息。与mpstat相比,sar能查看CPU历史信息
查看所有CPU信息
0 表示CPU核号,若为ALL返回所有核号的信息 1 表示刷新频率 2 表示刷新次数
sar -P 0 1 2
其它用法
sar -q 查看队列的长度(等待运行的进程数)和负载的状态 sar -r查看内存使用情况 sar -w查看系统swap分区的统计信息 sar -b查看I/O传递速率的信息 sar -d磁盘使用统计信息
mpstat
能查看所有CPU的平均信息,还能查看指定CPU的信息。 与sar相比,mpstat对CPU能实时状态进行监控
连续5次,每次间隔1秒采样CPU信息
mpstat 1 5
查看所有CPU单个信息
mpstat -P ALL 1 1
vmstat
监控服务器整体的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)
#连续4次,每次间隔1秒采样信息
vmstat 1 4
如果觉得太乱是用如下命令
vmstat 1 4 | column -t
iostat
主要用于监控系统设备的io负载情况
iostat 1 1
-m以MB统计数据
iostat -m 1 1
输出信息意义 Device:盘位符 tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。”一次传输”意思是”一次I/O请求”。多个逻辑请求可能会被合并为”一次I/O请求”。”一次传输”请求的大小是未知的。 kB_read/s:每秒从设备(drive expressed)读取的数据量; kB_wrtn/s:每秒向设备(drive expressed)写入的数据量; kB_read:读取的总数据量; kB_wrtn:写入的总数量数据量;这些单位都为Kilobytes。
ifstat
dool
替代 dstat 的命令行工具
yum install python3
wget https://github.com/scottchiefbaker/dool/archive/refs/tags/v1.0.0.zip
unzip v1.0.0.zip
cd /opt/run/dool-1.0.0
./dool
Comments