2019年9月

整理部分Linux主机测试脚本

整理部分Linux主机测试脚本

前言

本文整理了部分大佬的Linux主机测速脚本,方便本人使用,也介绍给大家。

千影大佬的脚本:

此脚本来自千影大佬。网站地址:https://www.94ish.me
千影大佬将此脚本命名为:Linux性能/网络测试综合脚本。可见此脚本功能非常全面。根据大佬介绍,此脚本支持以下功能:

  • 获取系统基本信息
  • 测试硬盘存取延迟iops存取速度
  • 测试本机带宽
  • 测试本机到25个国外节点下载速度
  • 测试本机到8个国内节点下载速度
  • 测试本机到国内9个节点的路由
  • 测试本机到国内9个节点的延迟与丢包

使用以下命令下载脚本:

wget https://raw.githubusercontent.com/chiakge/Linux-Server-Bench-Test/master/linuxtest.sh -N --no-check-certificate

运行说明:

#不含UnixBench的测试,无网页分享
bash linuxtest.sh

#不含UnixBench的测试,带网页分享
bash linuxtest.sh s

#含UnixBench的测试,不带网页分享
bash linuxtest.sh a

#含UnixBench的测试,带网页分享
bash linuxtest.sh as

#网页分享不包含任何VPSip信息

测试样本:

========== 开始记录测试信息 ==========
测试时间:2018-05-13 12:12:31
----------------------------------------------------------------------
CPU model            : Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz
Number of cores      : 1
CPU frequency        : 1999.830 MHz
Total size of Disk   : 59.0 GB (0.6 GB Used)
Total amount of Mem  : 512 MB (205 MB Used)
Total amount of Swap : 512 MB (10 MB Used)
System uptime        : 0 days, 9 hour 30 min
Load average         : 0.07, 0.02, 0.00
OS                   : Debian GNU/Linux 8
Arch                 : x86_64 (64 Bit)
Kernel               : 2.6.32-042stab127.2
ipaddr               : 美国 加利福尼亚州 洛杉矶  colocrossing.com
vm                   : openvz
----------------------------------------------------------------------
===== 开始硬盘性能测试 =====
ioping: seek rate
    min/avg/max/mdev = 39.9 us / 61.8 us / 37.3 ms / 345.1 us
ioping: sequential speed
    generated 14.4 k requests in 5.00 s, 3.52 GiB, 2.88 k iops, 720.3 MiB/s
===== 硬盘性能测试完成 =====
----------------------------------------------------------------------
===== 开始speedtest =====
Retrieving speedtest.net configuration...
Testing from ColoCrossing (198.23.239.***)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Time Warner Cable (Los Angeles, CA) [0.74 km]: 4.27 ms
Testing download speed................................................................................
Download: 462.86 Mbit/s
Testing upload speed................................................................................................
Upload: 491.93 Mbit/s
Share results: http://www.speedtest.net/result/7306266209.png
===== speedtest完成 =====
----------------------------------------------------------------------
Node Name:                      IPv4 address:                  Download Speed
CacheFly:                       205.234.175.175:          81.66 MiB/s |  653.25 Mbps
Linode, Tokyo, JP:              106.187.96.148:            6.48 MiB/s |   51.85 Mbps
Linode, Tokyo2, JP:             139.162.65.37:             3.56 MiB/s |   28.46 Mbps
Linode, Singapore, SG:          139.162.23.4:              2.23 MiB/s |   17.86 Mbps
Linode, Fremont, CA:            50.116.14.9:               7.88 MiB/s |   63.06 Mbps
Linode, Newark, NJ:             50.116.57.237:             7.56 MiB/s |   60.45 Mbps
Linode, London, UK:             176.58.107.39:             4.52 MiB/s |   36.16 Mbps
Linode, Frankfurt, DE:          139.162.130.8:             2.22 MiB/s |   17.76 Mbps
Softlayer, Tokyo, JP:           161.202.125.20:            2.48 MiB/s |   19.86 Mbps
Softlayer, Singapore, SG:       119.81.28.170:             4.08 MiB/s |   32.64 Mbps
Softlayer, Seoul, KR:           119.81.28.170:             5.76 MiB/s |   46.09 Mbps
Softlayer, HongKong, CN:        119.81.130.170:            5.56 MiB/s |   44.49 Mbps
Softlayer, Dallas, TX:          169.48.124.82:            10.88 MiB/s |   87.07 Mbps
Softlayer, Seattle, WA:         67.228.112.250:           18.33 MiB/s |  146.61 Mbps
Softlayer, Frankfurt, DE:       159.122.69.4:              3.15 MiB/s |   25.18 Mbps
Softlayer, Paris, FR:           159.8.64.212:              3.58 MiB/s |   28.67 Mbps
Leaseweb, HongKong, CN:         43.249.36.49:              3.46 MiB/s |   27.68 Mbps
Leaseweb, Singapore, SG:        103.254.153.18:            6.09 MiB/s |   48.74 Mbps
Leaseweb, Washington D.C., US:  207.244.94.80:            14.61 MiB/s |  116.92 Mbps
Leaseweb, San Francisco, US:    209.58.135.187:           44.27 MiB/s |  354.13 Mbps
Leaseweb, Netherlands, NL:      5.79.108.33:               1.09 MiB/s |    8.70 Mbps
OVH, Montreal, CA:              192.99.19.165:             8.55 MiB/s |   68.39 Mbps
ChinaTelecom, Shanghai, CN:     101.95.48.41:            771.88 KiB/s |    6.03 Mbps
ChinaTelecom, Beijing, CN:      60.247.96.2:               6.16 MiB/s |   49.31 Mbps
ChinaUnicom, Beijing, CN:       61.135.202.2:             20.94 KiB/s |    0.16 Mbps
ChinaTelecom, Guangzhou, CN:    119.145.88.166:          706.60 KiB/s |    5.52 Mbps
ChinaMobile, Guangzhou, CN:     221.179.46.218:            2.44 KiB/s |    0.02 Mbps
ChinaTelecom, Hefei, CN:        61.191.111.11:             6.07 MiB/s |   48.55 Mbps
ChinaUnicom, Hefei, CN:         112.122.10.26:            24.36 KiB/s |    0.19 Mbps
ChinaMobile, Hefei, CN:         120.209.140.60:           10.31 KiB/s |    0.08 Mbps
Hinet, Taiwan, TW:              210.61.132.1:              2.43 MiB/s |   19.42 Mbps
----------------------------------------------------------------------
===== 测试 [四川电信] 的回程路由 =====
traceroute to 125.64.38.178 (125.64.38.178), 30 hops max, 60 byte packets
 1  ear.la.hiformance.net (198.23.239.2)  0.09 ms  AS36352  美国 加利福尼亚州 洛杉矶 colocrossing.com
 2  10.9.3.9  0.72 ms  *  局域网
 3  las-b3-link.telia.net (62.115.146.158)  9.17 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 4  213.248.92.130  1.13 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 5  202.97.50.234  3.79 ms  AS4134  美国 加利福尼亚州 洛杉矶 电信
 6  202.97.52.161  264.52 ms  AS4134  中国 广东 广州 电信
 7  *
 8  202.97.94.133  274.12 ms  AS4134  中国 广东 广州 电信
 9  202.97.36.222  299.99 ms  AS4134  中国 四川 成都 电信
10  *
11  118.123.217.86  302.58 ms  AS38283  中国 四川 成都 电信
12  *
13  125.64.38.178  297.95 ms  AS38283  中国 四川 成都 电信

===== 回程 [四川电信] 路由测试结束 =====
===== 测试 [北京电信] 的回程路由 =====
traceroute to 106.120.243.142 (106.120.243.142), 30 hops max, 60 byte packets
 1  ear.la.hiformance.net (198.23.239.2)  0.32 ms  AS36352  美国 加利福尼亚州 洛杉矶 colocrossing.com
 2  10.9.3.9  0.21 ms  *  局域网
 3  las-b3-link.telia.net (62.115.146.158)  0.39 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 4  213.248.92.130  5.29 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 5  202.97.50.234  7.61 ms  AS4134  美国 加利福尼亚州 洛杉矶 电信
 6  202.97.52.169  256.38 ms  AS4134  中国 北京 电信
 7  202.97.85.29  223.65 ms  AS4134  中国 北京 电信
 8  202.97.48.245  229.90 ms  AS4134  中国 北京 电信
 9  *
10  2.254.120.106.static.bjtelecom.net (106.120.254.2)  250.87 ms  AS4847  中国 北京 电信
11  142.243.120.106.static.bjtelecom.net (106.120.243.142)  221.05 ms  AS4847  中国 北京 电信

===== 回程 [北京电信] 路由测试结束 =====
===== 测试 [北京联通] 的回程路由 =====
traceroute to 103.254.70.52 (103.254.70.52), 30 hops max, 60 byte packets
 1  ear.la.hiformance.net (198.23.239.2)  0.32 ms  AS36352  美国 加利福尼亚州 洛杉矶 colocrossing.com
 2  10.9.3.9  0.17 ms  *  局域网
 3  las-b3-link.telia.net (62.115.146.158)  3.51 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 4  213.248.92.130  6.09 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 5  202.97.50.234  0.51 ms  AS4134  美国 加利福尼亚州 洛杉矶 电信
 6  202.97.25.233  258.66 ms  AS4134  中国 电信
 7  202.97.84.213  283.28 ms  AS4134  中国 北京 电信
 8  202.97.53.25  281.32 ms  AS4134  中国 北京 电信
 9  *
10  *
11  *
12  119.40.40.74  436.57 ms  AS4847  中国 北京 cnispunion.org 联通
13  *
14  103.254.70.52  269.65 ms  AS4808,AS4847  中国 北京 联通/电信

===== 回程 [北京联通] 路由测试结束 =====
===== 测试 [北京移动] 的回程路由 =====
traceroute to 218.205.152.14 (218.205.152.14), 30 hops max, 60 byte packets
 1  ear.la.hiformance.net (198.23.239.2)  0.29 ms  AS36352  美国 加利福尼亚州 洛杉矶 colocrossing.com
 2  10.9.3.13  0.23 ms  *  局域网
 3  las-b3-link.telia.net (62.115.146.156)  0.50 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 4  chinamobile-ic-327136-las-b24.c.telia.net (62.115.37.99)  96.87 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 5  223.120.6.17  97.05 ms  AS58453  美国 加利福尼亚州 洛杉矶 移动
 6  223.120.13.14  314.15 ms  AS58453  中国 移动
 7  *
 8  *
 9  *
10  *
11  *
12  *
13  218.205.152.14  348.18 ms  AS56048  中国 北京 移动

===== 回程 [北京移动] 路由测试结束 =====
===== 测试 [上海移动] 的回程路由 =====
traceroute to 117.131.14.202 (117.131.14.202), 30 hops max, 60 byte packets
 1  ear.la.hiformance.net (198.23.239.2)  0.31 ms  AS36352  美国 加利福尼亚州 洛杉矶 colocrossing.com
 2  10.9.3.13  53.19 ms  *  局域网
 3  las-b3-link.telia.net (62.115.146.156)  1.21 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 4  chinamobile-ic-327136-las-b24.c.telia.net (62.115.37.99)  97.32 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 5  223.120.6.17  97.42 ms  AS58453  美国 加利福尼亚州 洛杉矶 移动
 6  *
 7  *
 8  *
 9  221.183.25.189  344.80 ms  AS9808  中国 上海 移动
10  221.176.22.9  344.28 ms  AS9808  中国 上海 移动
11  *
12  *
13  *
14  *
15  117.131.14.202  345.54 ms  AS24400  中国 上海 移动

===== 回程 [上海移动] 路由测试结束 =====
===== 测试 [上海电信] 的回程路由 =====
traceroute to 211.144.205.58 (211.144.205.58), 30 hops max, 60 byte packets
 1  ear.la.hiformance.net (198.23.239.2)  0.30 ms  AS36352  美国 加利福尼亚州 洛杉矶 colocrossing.com
 2  10.9.3.9  0.42 ms  *  局域网
 3  las-b3-link.telia.net (62.115.146.158)  13.91 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 4  chinaunicom-ic-155914-las-bb1.c.telia.net (213.248.82.206)  274.78 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 5  219.158.96.25  273.72 ms  AS4837  中国 北京 联通
 6  219.158.3.137  308.87 ms  AS4837  中国 北京 联通
 7  219.158.5.149  316.10 ms  AS4837  中国 北京 联通
 8  219.158.16.90  286.87 ms  AS4837  中国 上海 联通
 9  *
10  112.64.252.86  324.28 ms  AS17621  中国 上海 联通
11  *
12  208.162.dsnet (211.144.208.162)  162.06 ms  AS23853  中国 上海 shuxun.net 电信/联通
13  208.134.dsnet (211.144.208.134)  160.57 ms  AS23853  中国 上海 shuxun.net 电信/联通
14  *
15  *
16  *
17  *
18  205.58.dsnet (211.144.205.58)  287.26 ms  AS17621,AS23853  中国 上海 shuxun.net 电信/联通

===== 回程 [上海电信] 路由测试结束 =====
===== 测试 [上海联通] 的回程路由 =====
traceroute to 220.196.42.133 (220.196.42.133), 30 hops max, 60 byte packets
 1  ear.la.hiformance.net (198.23.239.2)  0.37 ms  AS36352  美国 加利福尼亚州 洛杉矶 colocrossing.com
 2  10.9.3.13  16.81 ms  *  局域网
 3  las-b3-link.telia.net (62.115.146.156)  0.41 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 4  chinaunicom-ic-324374-las-b24.c.telia.net (62.115.154.91)  314.46 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 5  219.158.96.25  289.92 ms  AS4837  中国 北京 联通
 6  219.158.3.137  327.08 ms  AS4837  中国 北京 联通
 7  219.158.5.149  314.17 ms  AS4837  中国 北京 联通
 8  219.158.16.90  296.00 ms  AS4837  中国 上海 联通
 9  *
10  139.226.203.6  308.53 ms  AS17621  中国 上海 联通
11  112.65.207.162  331.72 ms  AS17621  中国 上海 联通
12  140.207.207.165  339.75 ms  AS17621  中国 上海 联通
13  140.207.207.126  349.24 ms  AS17621  中国 上海 联通
14  220.196.42.133  303.40 ms  AS17621  中国 上海 联通

===== 回程 [上海联通] 路由测试结束 =====
===== 测试 [广东联通] 的回程路由 =====
traceroute to 27.40.0.30 (27.40.0.30), 30 hops max, 60 byte packets
 1  ear.la.hiformance.net (198.23.239.2)  0.10 ms  AS36352  美国 加利福尼亚州 洛杉矶 colocrossing.com
 2  10.9.3.9  0.26 ms  *  局域网
 3  las-b3-link.telia.net (62.115.146.158)  27.72 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 4  chinaunicom-ic-151188-las-bb1.telia.net (213.248.94.126)  382.24 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 5  219.158.96.25  290.72 ms  AS4837  中国 北京 联通
 6  *
 7  219.158.18.69  319.49 ms  AS4837  中国 北京 联通
 8  219.158.112.46  371.24 ms  AS4837  中国 广东 广州 联通
 9  120.81.0.34  293.30 ms  AS17816  中国 广东 广州 联通
10  221.4.6.2  310.94 ms  AS17816  中国 广东 广州 联通
11  27.40.0.30  325.19 ms  AS17816  中国 广东 广州 联通

===== 回程 [广东联通] 路由测试结束 =====
===== 测试 [广东移动] 的回程路由 =====
traceroute to 211.139.129.222 (211.139.129.222), 30 hops max, 60 byte packets
 1  ear.la.hiformance.net (198.23.239.2)  0.12 ms  AS36352  美国 加利福尼亚州 洛杉矶 colocrossing.com
 2  10.9.3.13  2.57 ms  *  局域网
 3  las-b3-link.telia.net (62.115.146.156)  0.42 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 4  chinamobile-ic-327136-las-b24.c.telia.net (62.115.37.99)  96.56 ms  AS1299  美国 加利福尼亚州 洛杉矶 telia.com
 5  223.120.6.17  96.39 ms  AS58453  美国 加利福尼亚州 洛杉矶 移动
 6  *
 7  *
 8  *
 9  221.176.19.37  322.20 ms  AS9808  中国 广东 广州 移动
10  221.176.24.5  372.73 ms  AS9808  中国 广东 广州 移动
11  *
12  *
13  *
14  *
15  211.139.129.222  327.84 ms  AS56040  中国 广东 广州 移动

===== 回程 [广东移动] 路由测试结束 =====
----------------------------------------------------------------------
【四川电信】 - 125.64.38.178
10 packets transmitted, 6 received, 40% packet loss, time 9001ms
rtt min/avg/max/mdev = 297.731/297.816/297.870/0.548 ms
----------------------------------------------------------------------
----------------------------------------------------------------------
【北京电信】 - 106.120.243.142
10 packets transmitted, 10 received, 0% packet loss, time 8999ms
rtt min/avg/max/mdev = 202.605/229.378/247.753/17.592 ms
----------------------------------------------------------------------
----------------------------------------------------------------------
【北京联通】 - 103.254.70.52
10 packets transmitted, 10 received, 0% packet loss, time 9009ms
rtt min/avg/max/mdev = 234.315/251.105/265.916/13.239 ms
----------------------------------------------------------------------
----------------------------------------------------------------------
【北京移动】 - 218.205.152.14
10 packets transmitted, 4 received, 60% packet loss, time 9004ms
rtt min/avg/max/mdev = 347.991/348.252/348.489/0.177 ms
----------------------------------------------------------------------
----------------------------------------------------------------------
【上海移动】 - 117.131.14.202
10 packets transmitted, 5 received, 50% packet loss, time 9001ms
rtt min/avg/max/mdev = 344.769/345.570/347.109/0.827 ms
----------------------------------------------------------------------
----------------------------------------------------------------------
【上海电信】 - 211.144.205.58
10 packets transmitted, 6 received, 40% packet loss, time 9007ms
rtt min/avg/max/mdev = 284.695/289.510/296.363/5.161 ms
----------------------------------------------------------------------
----------------------------------------------------------------------
【上海联通】 - 220.196.42.133
10 packets transmitted, 9 received, 10% packet loss, time 9006ms
rtt min/avg/max/mdev = 287.089/299.335/308.720/6.880 ms
----------------------------------------------------------------------
----------------------------------------------------------------------
【广东联通】 - 27.40.0.30
10 packets transmitted, 10 received, 0% packet loss, time 9008ms
rtt min/avg/max/mdev = 320.965/331.647/340.094/7.365 ms
----------------------------------------------------------------------
----------------------------------------------------------------------
【广东移动】 - 211.139.129.222
10 packets transmitted, 1 received, 90% packet loss, time 8999ms
rtt min/avg/max/mdev = 326.090/326.090/326.090/0.000 ms
----------------------------------------------------------------------
----------------------------------------------------------------------
min:最低延迟
avg:平均延迟
max:最高延迟
mdev:平均偏差
----------------------------------------------------------------------
----------------------------------------------------------------------

老鬼的博客脚本:

此脚本来自于oooldking大佬。网站地址:https://www.oldking.net
Shell中输入以下内容并按Enter键执行脚本即可。

wget -qO- git.io/superbench.sh | bash

此脚本默认测试主机配置信息、磁盘IO性能、多地的上传下载速度,如下所示。

wget -qO- git.io/superbench.sh | bash

 =========================================================
 \                 Superbench.sh  Script                 /
 \       Basic system info, I/O test and speedtest       /
 \                   v1.1.5 (14 Jun 2019)                /
 \                   Created by Oldking                  /
 =========================================================

 Intro: https://www.oldking.net/350.html
 Copyright (C) 2019 Oldking oooldking@gmail.com
 Happy New Year!

 Installing Speedtest-cli ...
 Installing tools.py ...
 Installing Fast.com-cli ...
----------------------------------------------------------------------
 Superbench.sh -- https://www.oldking.net/350.html
 Mode  : Standard    Version : 1.1.5
 Usage : wget -qO- git.io/superbench.sh | bash
----------------------------------------------------------------------
 CPU Model            : Virtual CPU 82d9ed4018dd
 CPU Cores            : 1 Cores @ 2593.904 MHz x86_64
 CPU Cache            : 16384 KB
 OS                   : CentOS 7.6.1810 (64 Bit) KVM
 Kernel               : 3.10.0-957.27.2.el7.x86_64
 Total Space          : 1.7 GB / 55.0 GB
 Total RAM            : 96 MB / 1838 MB (629 MB Buff)
 Total SWAP           : 0 MB / 0 MB
 Uptime               : 4 days 8 hour 19 min
 Load Average         : 0.00, 0.01, 0.05
 TCP CC               : cubic
 ASN & ISP            : AS20473, Choopa
 Organization         : Vultr Holdings, LLC
 Location             : Queenstown Estate, Singapore / SG
 Region               :
----------------------------------------------------------------------
 I/O Speed( 1.0GB )   : 344 MB/s
 I/O Speed( 1.0GB )   : 370 MB/s
 I/O Speed( 1.0GB )   : 494 MB/s
 Average I/O Speed    : 402.7 MB/s
----------------------------------------------------------------------
 Node Name        Upload Speed      Download Speed      Latency
 Speedtest.net    2149.18 Mbit/s    4895.81 Mbit/s      2.045 ms
 Fast.com         0.00 Mbit/s       138.9 Mbit/s        -
 Guangzhou CT     3.57 Mbit/s       13.11 Mbit/s        -
 Wuhan     CT     0.77 Mbit/s       1.31 Mbit/s         -
 Hangzhou  CT     1.28 Mbit/s       0.75 Mbit/s         -
 Lanzhou   CT     0.22 Mbit/s       1.17 Mbit/s         -
 Shanghai  CU     12.34 Mbit/s      17.57 Mbit/s        -
 Heifei    CU     15.54 Mbit/s      44.01 Mbit/s        -
 Chongqing CU     15.67 Mbit/s      16.70 Mbit/s        -
 Xizang    CM     2.08 Mbit/s       118.36 Mbit/s       -
----------------------------------------------------------------------

Shell还有以下使用方法:

wget git.io/superbench.sh; chmod +x superbench.sh

或者 curl -LsO git.io/superbench.sh; chmod +x superbench.sh

./superbench.sh info

./superbench.sh io

./superbench.sh speed

./superbench.sh share

SpeedTest 的Jinan Wo 节点测速:

以下脚本使用SpeedTest网站的Jinan Wo节点测速。

wget https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py

chmod +x speedtest.py

./speedtest.py --server 5563

RTL2838电视棒EEPROM分析-基于RTL2832U,PID为2838的SDR硬件

RTL2838电视棒EEPROM分析-基于RTL2832U,PID为2838的SDR硬件

前言:

前几天水群时看到有网友聊起要买RTL2832U电视棒,看起来很贵,记得自己买的电视棒很便宜。于是问了一下,然后有网友表示RTL28382U电视棒pid为2832,而便宜的那个是RTL2838且其pid为2838,某些软件不识别这种硬件。然后我翻出自己的试了一下,还真的被识别为RTL2838(pid2838)。难道为了兼容性,必须要多花很多钱?通过大家的努力,我们把RTL2838电视棒改成了RTL2832U电视棒。

正文:

我的电视棒之前曾经拆解过,里面IC丝印为RTL2832U,且不存在任何打磨重新雕刻的痕迹。当我发现计算机将电视棒名字识别为RTL2838UHIDIR而不是RTL2832U的时候,我第一感觉也怀疑到了IC,但是IC的外观并不像假货。又有网友提供了osmocom论坛相关WIKI,它有一句话:Many devices with EEPROM have 0x2838 as PID and RTL2838 as product name, but in fact all of them have an RTL2832U inside.Realtek never released a chip marked as RTL2838 so far.从此处我们了解到实际并没有RTL2838这款IC。

想到很多IC都会用外挂EEPROM的方式存储配置信息,我便再次想到,这款电视棒是否也是如此,而它的设备名称、PID&VID是否也如此?于是便将外壳再次拆下,果然在RTL2832U附近看到了一枚型号为24C02N的EEPROM。直接将24C02拆焊上编程器,将其数据dump到文件中。文件内容:

B1.jpg

我们发现在dump出的EEPROM数据中存在部分区域对应USB设备信息。很明显可以看到RTL2838UHIDIR这段文字的数据存在于0x1B~0x33地址区域,且字符间都相隔一个00。从计算机上给出的信息中得知,这段数据是这个设备的产品名称。我们还发现,0x0B~0x17地址区域中存储的内容为Realtek,与前面一样,字符间相隔一个00,这段便是这个设备的制造商。最终我们还发现,0x02~0x05这段中存储的数据就是USB设备的PID和VID,且是以倒序的方式存储的。其中0x050x04中存储的是PID,即2838;而0x030x02中存储的是VID,即0BDA。这些数据也是能和计算机读出的信息相匹配的。而其他地址中存储的数据具体含义与用途,我没有查到。如果有大佬知道,欢迎补充。

有了以上的信息,我们就可以着手尝试改变它了。上面提到,有网友表示:某些软件只支持PID为2832的设备。根据上文我们获取的信息,我们将EEPROM中的数据做如下修改,把他焊回到电视棒上,插入计算机,发现果然如预期,它变成了名为RTL2832U、PID为2832的电视棒。

B2.jpg

这还没有结束,我在搜索资料的时候,意外的发现了一个叫做rtl-sdr的实用程序包。这个工具可以运行在Linux系统下,它包含了一个叫做rtl_eeprom的工具,可以将连接到计算机的RTL电视棒的EEPROM数据dump到一个文件中,也可以将修改后的文件写回EEPROM。此工具通过shell操作,命令如下。

CentOS7下安装:

yum install -y rtl-sdr

将数据dump到文件中:

 rtl_eeprom -r <文件名>

将文件写入EEPROM中:

警告:此操作非常危险,写入错误的数据或写入失败损坏数据等意外将导致电视棒无法再次被计算机正常识别!

 rtl_eeprom -w <文件名>

有网帖表示若因写错EEPROM文件导致电视棒无法工作,可尝试用镊子等导电物体短路EEPROM的SDA和SCL引脚,使RTL2832U无法识别EEPROM而直接被识别为PID=2832,然后使用rtl_eeprom工具提供的-g选项直接生成默认文件。具体参考:rtl_eeprom一文,鄙人未对此方法的有效性做验证

有了上文的方案,没有烙铁或焊台等工具的CS大佬们便可以尝试不拆硬件修改EEPROM了。

此处附上本人RTL电视棒修改前后的EEPROM中dump到的文件:

EEPROM.zip

本文主要整理了鄙人发现EEPROM中部分数据对电视棒作用的过程,希望本文能对大家有所帮助。

参考:

1:RealTek RTL2832U
linuxtv.org/wiki/index.php/RealTek_RTL2832U

2:WIKI:rtl-sdr
https://osmocom.org/projects/rtl-sdr/wiki/Rtl-sdr

3:rtl-eeprom工具帮助文档
http://manpages.ubuntu.com/manpages/trusty/man1/rtl_eeprom.1.html

CentOS7下编译安装Shadowsocks-libev

CentOS7下编译安装Shadowsocks-libev

前言:

Shadowsocks是一种基于Socks5代理方式的加密传输协议,也可以指实现这个协议的各种开发包。在中国大陆,本工具广泛用于解决长城防火墙的未知错误而导致的Google、YouTube、Facebook等正常境外网站不能正常访问。网上有大量热心网友提供了各种版本的一键安装脚本,用于支持那些非计算机从业人员快速方便的在服务器上搭建服务端。但是某些情况下,一键脚本的安全性难以保证;另一方面,使用一键脚本不能让我们具体了解到这个工具是如何工作的。而本文则提供了一步一步从源代码手动编译安装Shadowsocks-libev的过程。

阅读本文,您可能需要基本的Linux系统操作技术与网络技术基础。

步骤:

  1. 准备编译环境,在CentOS7下运行以下两条命令完成环境准备。

     yum install epel-release -y
     yum install gcc gettext autoconf libtool automake make pcre-devel asciidoc xmlto c-ares-devel libev-devel libsodium-devel mbedtls-devel -y
  2. 安装Git,并从GitHub下载源码。

     yum install git -y
     cd /usr/local/src
     git clone https://github.com/shadowsocks/shadowsocks-libev.git
  3. 配置并编译源代码。

     cd shadowsocks-libev
     git submodule update --init --recursive
     sh autogen.sh
     ./configure --disable-documentation
     make
     make install
  4. 配置Shadowsocks服务端配置文件,文件位于 .../shadowsocks-libev/debian/config.json,将此文件复制到/etc/shadowsocks-libev/config.json

     mkdir /etc/shadowsocks-libev
     cp ./debian/config.json /etc/shadowsocks-libev/config.json
  5. 使用vi编辑器打开/etc/shadowsocks-libev/config.json

     vi /etc/shadowsocks-libev/config.json
  6. 按照自己的需求填写服务端参数。

     {
     "server":"0.0.0.0",    //服务端IP地址,Linux系统下0.0.0.0表示本地
     "server_port":8388,    //服务端端口号
     "local_port":1080,     //本地端口号
     "password":"barfoo!",   //密码
     "timeout":10,    超时时长(秒)
     "method":"chacha20-ietf-poly1305"     //加密方式
     }
     #加密方式据说有如下几种:
     aes-256-gcm
     aes-192-gcm
     aes-128-gcm
     aes-256-ctr
     aes-192-ctr
     aes-128-ctr
     aes-256-cfb
     aes-192-cfb
     aes-128-cfb
     camellia-128-cfb
     camellia-192-cfb
     camellia-256-cfb
     chacha20-ietf-poly1305
     chacha20-ietf
     chacha20
     rc4-md5
  7. shadowsocks-libev.default文件复制到/etc/sysconfig/shadowsocks-libev
    shadowsocks-libev.service文件复制到/usr/lib/systemd/system/目录。因为本例中编译安装的程序文件位置为/usr/local/bin/,需要修改一下文件中的启动命令。

    cp /usr/local/src/shadowsocks-libev/rpm/SOURCES/systemd/shadowsocks-libev.default /etc/sysconfig/shadowsocks-libev
    cp /usr/local/src/shadowsocks-libev/rpm/SOURCES/systemd/shadowsocks-libev.service /usr/lib/systemd/system/
    vi /usr/lib/systemd/system/shadowsocks-libev.service

    将以下一行:

    ExecStart=/usr/bin/ss-server -c "$CONFFILE" $DAEMON_ARGS

    替换成以下内容,按ESC键输入:wq,按Enter键保存退出即可。

    ExecStart=/usr/local/bin/ss-server -c "$CONFFILE" $DAEMON_ARGS
  8. 运行服务,检查服务是否正常运行,若服务运行正常,即显示:Active: active (running)

    systemctl start shadowsocks-libev
    systemctl status shadowsocks-libev
  9. 确定服务正常后,将服务添加到开机启动。这时我们在客户端中输入服务器的IP地址等配置信息后就可以使用了,若依然不可以,请检查配置信息是否填写正确,并检查服务端防火墙配置。

    systemctl enable shadowsocks-libev

防火墙配置:

若服务端与客户端配置均正确,依然无法建立连接,我们便需要检查是否服务端防火墙导致。若服务器系统配置了防火墙并已经启动,那么在配置防火墙开放对应服务端口前,自然是无法与服务器建立连接的。其实我们作为服务器的管理人员,自然应该知道自己服务器是否有开启防火墙的。

  1. 我们可以使用此网站检查某个端口是否可以访问。输入IP地址和端口号后点击Check即可检测。若提示Port XX is open on x.x.x.x 即表示端口已经打开。反之 close即表示端口没有反应。此时我们进一步检查防火墙。

  2. 检查防火墙服务是否运行,CentOS7默认将原来CentOS6时代的防火墙iptables升级为了firewalld。使用以下命令检查防火墙运行状态。若回显信息提示:running,则表示防火墙运行中。

    firewall-cmd --state
  3. 为Shadowsocks在防火墙中添加规则,开放对应端口的TCP和UDP通信。下以上文配置文件中的8388端口为例,具体按自己需求修改。到此为止,我们便完成了防火墙的配置。

    firewall-cmd --zone=public --add-port={8388/tcp,8388/udp} --permanent
    firewall-cmd --reload

本文到此结束。下附Ubuntu安装:

Ubuntu下编译安装Shadowsocks-libev

安装各种编译需要的库、工具等:

sudo apt install --no-install-recommends build-essential autoconf libtool libssl-dev gawk debhelper dh-systemd init-system-helpers pkg-config asciidoc xmlto apg libpcre3-dev zlib1g-dev libev-dev libudns-dev libsodium-dev libmbedtls-dev libc-ares-dev automake

拉取源代码:

sudo apt install git
git clone https://github.com/shadowsocks/shadowsocks-libev.git
cd shadowsocks-libev
git submodule update --init
./autogen.sh && ./configure --disable-documentation && make
sudo make install

创建配置文件:

创建配置文件目录:

sudo mkdir /etc/shadowsocks-libev

单用户配置文件:

sudo vi /etc/shadowsocks-libev/config.json
{
     "server":"0.0.0.0",
     "server_port":8388,
     "local_port":1080,
     "password":"mypassword",
     "timeout":300,
     "method":"aes-256-gcm" ,
     "fast_open": false
 }

多用户配置文件:

sudo vi /etc/shadowsocks-libev/manager_config.json
{
     "server":"0.0.0.0",
     "local_port":1080,
     "method":"aes-256-gcm" ,
     "timeout":300,
     "fast_open": true,
     "port_password": {
        "8388": "barfoo1",
        "8389": "barfoo2"
    }
 }

创建Systemd服务文件:

单用户:

sudo vi /etc/systemd/system/shadowsocks-libev.service
[Unit]
Description=Shadowsocks-libev Server
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/ss-server -c /etc/shadowsocks-libev/config.json -u
Restart=on-abort

[Install]
WantedBy=multi-user.target

多用户:

[Unit]
Description=Shadowsocks-libev Server
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/ss-manager -c /etc/shadowsocks-libev/manager_config.json -u
Restart=on-abort

[Install]
WantedBy=multi-user.target

启动并设置开机自启:

sudo systemctl start shadowsocks-libev
sudo systemctl enable shadowsocks-libev

参考:

  1. shadowsocks-libev-GitHub项目页

CentOS7部署MinIO服务器&VPS使用MinIO Client备份数据

CentOS7部署MinIO服务器&VPS使用MinIO Client备份数据

重要数据备份是很重要的,本博客也遇到了几次意外,但是都从备份中恢复了。以往都是定期手动备份站点目录和数据库,耗时又费力。在此探索一种新的方式,在一台存储空间较大的VPS(俗称大盘机)上部署MinIO服务端,客户机通过MinIO Client将文件备份到大盘机。

MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。

服务端部署

根据MinIO官方文档描述,MinIO服务端部署非常简单,几条命令即可完成安装,然后我们再创建一个systemd配置文件用于开机自启即可。

  1. 依次输入以下两行命令,下载二进制文件至/usr/local/bin,并赋予其可执行权限。

     wget -P /usr/local/bin https://dl.min.io/server/minio/release/linux-amd64/minio
     chmod +x /usr/local/bin/minio
  2. 依次输入以下两行命令,创建MinIO工作目录,尝试手动运行服务。记录回显的Endpoint、AccessKey、SecretKey等信息,尝试在浏览器中输入Endpoint中的地址,输入AccessKey和SecretKey登陆。检查正常后按Ctrl + C停止MinIO。若不成功,请检查MinIO是否正常运行,并检查系统防火墙配置是否放行9000端口。

     mkdir /srv/MinIO
     minio server /srv/MinIO
  3. CentOS7使用firewalld防火墙,使用以下第一条命令在防火墙规则中添加开放9000端口的TCP通信,另勿忘使用第二条命令重载防火墙。

     firewall-cmd --zone=public --add-port=9000/tcp --permanent
     firewall-cmd --reload
  4. 运行以下命令,在/etc/systemd/system/目录下创建minio.service配置文件,并使用vi编辑器打开。tips:Alt+.可快速输入上一命令中的变量。

     touch /etc/systemd/system/minio.service
     vi /etc/systemd/system/minio.service
  5. 在vi编辑器中输入以下内容,按ESC键,输入:wq,保存退出。

     [Unit]
     Description=MinIO object storage server
     After=network.target
    
     [Service]
     Type=simple
     ExecStart=/usr/local/bin/minio server /srv/MinIO
     Restart=on-failure
    
     [Install]
     WantedBy=multi-user.target

6.运行以下命令,启动服务,并添加开机启动,此时通过浏览器应该能正常访问到网页即证明配置完成。

```
systemctl start minio
systemctl enable minio
```

客户端配置

客户端的配置依然很简单。

  1. 使用wget下载文件到,并赋予其可执行权限。

      wget -P /usr/local/bin/ https://dl.min.io/client/mc/release/linux-amd64/mc
      chmod +x /usr/local/bin/mc
  2. 使用以下命令添加上文部署好的MinIO对象存储服务器信息。其中,Alias是云存储服务的简称。API-SIGNATURE是可选参数。默认情况下,它设置为“S3v4”。

     mc config host add <ALIAS> <YOUR-S3-ENDPOINT> <YOUR-ACCESS-KEY> <YOUR-SECRET-KEY> <API-SIGNATURE>

    ​ 例如:

      mc config host add MinIO http://10.145.87.224:9000 Do24SZ3JDWEKDWPZ5DV2O KL7Hjas76BdI4msWYEZh3FH*Sh4B+gH&SvGc3z5Ub
  3. 在我们上面添加的MinIO下,创建一个名为blog的存储桶(bucket)。

     mc mb MinIO/blog
  4. 运行以下命令将blog.lexsion目录下的文件同步到名为MinIO/blog的bucket里,并保持对目录修改的监听。此命令在本地修改/删除文件后会同步在bucket中修改/删除。测试正常后按Ctrl+C停止。

     mc mirror -w --overwrite --remove /www/wwwroot/blog.lexsion MinIO/blog
  5. 创建systemd配置文件,使用以下命令打开vi编辑器。

     vi /etc/systemd/system/minioc.service
  6. 在打开的编辑器中按i键进入编辑模式,输入如下内容,按ESC键,输入:wq按Enter键保存退出。

     [Unit]
     Description=MinIO Client Service
     After=network.target
    
     [Service]
     Type=simple
     ExecStart=/usr/local/bin/mc mirror -w --overwrite --remove /www/wwwroot/blog.lexsion MinIO/blog
     Restart=on-failure
    
     [Install]
     WantedBy=multi-user.target
  7. 运行服务,并添加到开机自启动。

     systemctl start minioc
     systemctl enable minioc

到此,本文就结束了。但是MinIO的功能远不止这些,大家有兴趣可以自行探索。

参考:

MinIO中文Docs.
https://docs.min.io/cn/
MinIO.Docs.English Ver.
https://docs.min.io/docs/
Centos7(Firewall)防火墙开启常见端口命令
http://www.5yun.org/10074.html
vim非完全学习手册
https://lexsion.com/index.php/archives/129/

CentOS7升级最新版Git

CentOS7升级最新版Git

前言

Git是一个快速、可扩展的分布式版本控制系统,具体用途这里不再赘述。有时,我们生产环境中的某些程序可能会对Git版本有要求。但是CentOS7中的Git版本是比较旧的1.8.3.1版本,且无法使用yum升级到最新版本。如果这时我们的程序需要2.x的Git,便会出现兼容性问题。这种情况下,我们就需要自行下载并编译安装了。

读懂实践本文,你可能需要在技能树中点亮以下技能:

  • Linux系统基础操作

操作

  1. 运行以下命令安装所有依赖软件包。
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel 
yum install gcc perl-ExtUtils-MakeMaker
  1. 在/usr/src目录下创建一个Git目录,并进入。

    mkdir -p /usr/src/Git
    cd /usr/src/Git
  2. 打开Git下载页下载最新版的Git。页面按发布时间排序,我们直接点开最近的一个版本(我这2.23.0)。然后在“Source code(tar.gz)”上右击,复制其下载地址,然后使用wget下载文件。此命令由wget后空格加文件地址构成。

wget https://github.com/git/git/archive/v2.23.0.tar.gz
  1. 查看下载的文件名(比如我这里下载的文件名是v2.23.0.tar.gz),并使用tar工具解包,解包后查看解出的文件夹名称。这里我们发现文件加名为“git-2.23.0”
[root@lexsion]# ls
v2.23.0.tar.gz
[root@lexsion]# tar xzf v2.23.0.tar.gz
[root@lexsion]# ls
git-2.23.0  v2.23.0.tar.gz
  1. 进入解出的文件夹,使用make命令编译并安装新版Git工具。
cd git-2.23.0
make prefix=/usr/local/git all
make prefix=/usr/local/git install
  1. 移除旧版本Git,为新版Git添加软链接。
yum remove git
cd /usr/bin
ln -s  /usr/local/git/bin/git git
  1. 使用以下命令查看Git版本,确认是否安装成功。
git --version

以上就是CentOS7下,升级Git版本的过程。

参考

  1. centOS7升级git版本到2.7.3
  2. centos7升级git到最新版本
  3. Git-GitHub项目页

OpenSSL-使用OpenSSL生成CSR文件

OpenSSL-使用OpenSSL生成CSR文件

前言

在申请SSL证书之前,需要先生成CSR文件(CSR,Cerificate Signing Request,证书请求文件)。CSR是公钥证书的原始文件,它包含了服务器信息和单位信息,需要提交给CA认证中心。很多网站可以帮我们生成CSR文件,图形化的操作也非常方便,但毕竟不是我们本地生成,恐有key泄露的风险。为此,我找到了在Linux系统下通过OpenSSL工具生成该文件的方法。

读懂实践本文,你可能需要在技能树中点亮以下技能:

  • Linux系统操作基础

准备

  • 一台运行Linux系统的本地计算机或服务器

利用OpenSSL命令生成ECC CSR文件

我申请的SSL证书是ECC类型的(ECC,椭圆曲线加密),相对RSA类型的SSL证书,ECC类型有更好的性能,但其兼容性较RSA差。这里先介绍ECC类型SSL证书申请所用的CSR文件生成的过程。

  1. 使用以下命令在当前目录生成一个名为“Lexsion_ECC.key”的私钥文件,其加密方式为prime256v1。
openssl ecparam -out Lexsion_ECC.key -name prime256v1 -genkey
  1. 使用以下命令利用上面生成的私钥文件“Lexsion_ECC.key”生成一个CSR文件名为:Lexsion_ECC.csr
openssl req -new -key Lexsion_ECC.key -out Lexsion_ECC.csr

上文中“Lexsion_ECC.key”“Lexsion_ECC.csr”可自定义为需要的文件名。

利用OpenSSL命令生成RSA CSR文件

生成RSA CSR文件只需要一行命令。其中,Lexsion_RSA.csr为CSR文件,Lexsion_RSA.key为私钥文件。rsa:2048为加密强度,可按需求修改。

openssl req -out Lexsion_RSA.csr -new -newkey rsa:2048 -nodes -keyout Lexsion_RSA.key

最终的生成

无论是ECC算法还是RSA算法,生成CSR文件的过程中,都要求我们输入一些信息。我们只需要按照提示输入信息即可完成生成。

部分回显信息翻译:

Country Name (2 letter code) [XX]: #国家 ;两个字母表示,可留空。
State or Province Name (full name) []: #州或省;输入全称,可留空
Locality Name (eg, city) [Default City]: #所在城市;可留空
Organization Name (eg, company) [Default Company Ltd]: #组织名称;比如可填公司名称,可留空
Organizational Unit Name (eg, section) []: #组织部门名称;比如IT,可留空
Common Name (eg, your name or your server's hostname) []: #简称FQHN;填写单域名或泛域名,此处必填。
Email Address []: #邮箱地址;可不填写

A challenge password []: #密码;一般留空
An optional company name []: #可选公司名;可留空

按照提示输入完需要的信息后,key文件&csr文件会于当前所在目录产生。这时我们就可以把产生的CSR文件提交给CA了。私钥(key文件)非常重要,切记保存好,不能泄露。

参考

  1. openssl manpage
  2. 公钥加密算法那些事 | RSA 与 ECC 系统对比