Kaynağa Gözat

【增加】增加英文readme

yangjie11 5 yıl önce
ebeveyn
işleme
1005911238
9 değiştirilmiş dosya ile 754 ekleme ve 17 silme
  1. 18 17
      README.md
  2. 28 0
      README_ZH.md
  3. 117 0
      iperf/README-en.md
  4. 35 0
      netio/README-en.md
  5. 78 0
      ntp/README-en.md
  6. 36 0
      ping/README-en.md
  7. 298 0
      tcpdump/README-en.md
  8. 38 0
      telnet/README-en.md
  9. 106 0
      tftp/README-en.md

+ 18 - 17
README.md

@@ -1,26 +1,27 @@
-# RT-Thread 网络小工具集
+# RT-Thread Network Gadgets Collection
 
-## 1、介绍
+[Chinese](README_ZH.md) | English
 
-当 RT-Thread 接入网络后,可玩性大大增强。这里汇集了 RT-Thread 可用的全部网络小工具集合,你所需要的小工具都可以在这里找到。
+## 1 Introduction
 
-## 2、获取方式
+When RT-Thread is connected to the network, the playability is greatly enhanced. Here is a collection of all the web widgets available for RT-Thread, and all the widgets you need can be found here.
 
-请使用 ENV 工具辅助下载:
+## 2. How to obtain
 
-包的路径为:`RT-Thread online package` -> `IoT - internet of things` -> `netutils`
+Please use ENV tool to assist download:
 
-## 3、使用说明
+The path of the package is: `RT-Thread online package` -> `IoT-internet of things` -> `netutils`
 
-每个小工具可使用 menuconfig 独立控制启用/停用,并提供了 Finsh/MSH 的使用命令。在其目录下都存有一份详细的使用文档。如需使用,请单独查看。下面是目前支持的小工具汇总:
+## 3. Instructions for use
 
-| 名称                         |   分类   | 功能简介                                                     | 使用文档                      |
-| :--------------------------- | :------: | :----------------------------------------------------------- | :---------------------------- |
-| [Ping](ping/README.md)       | 调试测试 | 利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障 | [点击查看](ping/README.md)    |
-| [TFTP](tftp/README.md)       | 文件传输 | TFTP是一个传输文件的简单协议,比 FTP 还要轻量级              | [点击查看](tftp/README.md)    |
-| [iperf](iperf/README.md)     | 性能测试 | 测试最大 TCP 和 UDP 带宽性能,可以报告带宽、延迟抖动和数据包丢失 | [点击查看](iperf/README.md)   |
-| [NetIO](netio/README.md)     | 性能测试 | 测试网络的吞吐量的工具                                       | [点击查看](netio/README.md)   |
-| [NTP](ntp/README.md)         | 时间同步 | 网络时间协议,支持 3 个备选服务器                            | [点击查看](ntp/README.md)     |
-| [Telnet](telnet/README.md)   | 远程访问 | 可以远程登录到 RT-Thread 的 Finsh/MSH Shell                  | [点击查看](telnet/README.md)  |
-| [tcpdump](tcpdump/README.md) | 网络调试 | tcpdump 是 RT-Thread 基于 lwip 的网络抓包工具                | [点击查看](tcpdump/README.md) |
+Each gadget can be enabled/disabled independently using menuconfig and provides commands for using Finsh/MSH. There is a detailed usage document in its catalog. If you need to use it, please check separately. The following is a summary of currently supported gadgets:
 
+| Name | Classification | Function Introduction | Use Document |
+| :--------------------------- | :------: | :--------------------------------------------------------- | :---------------------------- |
+| [Ping](ping/README-en.md) | Debugging test | Use the "ping" command to check whether the network is connected, which can help us analyze and determine network failures | [click to view](ping/README-en .md) |
+| [TFTP](tftp/README-en.md) | File transfer | TFTP is a simple protocol for transferring files, which is lighter than FTP | [click to view](tftp/README-en.md) |
+| [iperf](iperf/README-en.md) | Performance Test | Test maximum TCP and UDP bandwidth performance, report bandwidth, delay jitter and packet loss | [Click to view](iperf/README-en.md) |
+| [NetIO](netio/README-en.md) | Performance Test | Tools for testing network throughput | [Click to view](netio/README-en.md) |
+| [NTP](ntp/README-en.md) | Time synchronization | Network time protocol, support 3 alternative servers | [Click to view](ntp/README-en.md) |
+| [Telnet](telnet/README-en.md) | Remote access | Can remotely log in to RT-Thread's Finsh/MSH Shell | [Click to view](telnet/README-en.md) |
+| [tcpdump](tcpdump/README-en.md) | Network debugging | tcpdump is RT-Thread's lwip-based network packet capture tool | [Click to view](tcpdump/README-en.md) |

+ 28 - 0
README_ZH.md

@@ -0,0 +1,28 @@
+# RT-Thread 网络小工具集
+
+中文页 | [英文页](README.md)
+
+## 1、介绍
+
+当 RT-Thread 接入网络后,可玩性大大增强。这里汇集了 RT-Thread 可用的全部网络小工具集合,你所需要的小工具都可以在这里找到。
+
+## 2、获取方式
+
+请使用 ENV 工具辅助下载:
+
+包的路径为:`RT-Thread online package` -> `IoT - internet of things` -> `netutils`
+
+## 3、使用说明
+
+每个小工具可使用 menuconfig 独立控制启用/停用,并提供了 Finsh/MSH 的使用命令。在其目录下都存有一份详细的使用文档。如需使用,请单独查看。下面是目前支持的小工具汇总:
+
+| 名称                         |   分类   | 功能简介                                                     | 使用文档                      |
+| :--------------------------- | :------: | :----------------------------------------------------------- | :---------------------------- |
+| [Ping](ping/README.md)       | 调试测试 | 利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障 | [点击查看](ping/README.md)    |
+| [TFTP](tftp/README.md)       | 文件传输 | TFTP是一个传输文件的简单协议,比 FTP 还要轻量级              | [点击查看](tftp/README.md)    |
+| [iperf](iperf/README.md)     | 性能测试 | 测试最大 TCP 和 UDP 带宽性能,可以报告带宽、延迟抖动和数据包丢失 | [点击查看](iperf/README.md)   |
+| [NetIO](netio/README.md)     | 性能测试 | 测试网络的吞吐量的工具                                       | [点击查看](netio/README.md)   |
+| [NTP](ntp/README.md)         | 时间同步 | 网络时间协议,支持 3 个备选服务器                            | [点击查看](ntp/README.md)     |
+| [Telnet](telnet/README.md)   | 远程访问 | 可以远程登录到 RT-Thread 的 Finsh/MSH Shell                  | [点击查看](telnet/README.md)  |
+| [tcpdump](tcpdump/README.md) | 网络调试 | tcpdump 是 RT-Thread 基于 lwip 的网络抓包工具                | [点击查看](tcpdump/README.md) |
+

+ 117 - 0
iperf/README-en.md

@@ -0,0 +1,117 @@
+# iperf: Network bandwidth test tool
+
+## 1 Introduction
+
+[iperf](https://baike.baidu.com/item/iperf) is a network performance testing tool. iperf can test the maximum TCP and UDP bandwidth performance, has a variety of parameters and UDP characteristics, can be adjusted as needed, can report bandwidth, delay jitter and packet loss.
+
+## 2. Use
+
+iperf uses a master-slave architecture, that is, one end is a server, and the other end is a client. The iperf component package we provide implements the TCP server mode and the client mode. UDP testing is not currently supported. The usage of the two modes will be explained in detail below.
+
+### 2.1 iperf server mode
+
+#### 2.1.1 Get IP address
+
+You need to use Finsh/MSH commands on RT-Thread to obtain an IP address. The general effect is as follows:
+
+```
+msh />ifconfig
+network interface: e0 (Default)
+MTU: 1500
+MAC: 00 04 9f 05 44 e5
+FLAGS: UP LINK_UP ETHARP
+ip address: 192.168.12.71
+gw address: 192.168.10.1
+net mask: 255.255.0.0
+dns server #0: 192.168.10.1
+dns server #1: 223.5.5.5
+```
+
+-Write down the obtained IP address 192.168.12.71 (record according to the actual situation)
+
+#### 2.1.2 Start iperf server
+
+You need to use Finsh/MSH commands on RT-Thread to start the iperf server. The general effect is as follows:
+
+tcp mode
+
+```
+msh />iperf -s -p 5001
+```
+
+udp mode
+
+```
+msh />iperf -u -s -p 5001
+```
+
+- -s means to start as a server
+- -p means to monitor port 5001
+
+#### 2.1.3 Install JPerf test software
+
+The installation file is located in `/tools/jperf.rar`, this is a green software, the installation is actually a process of decompression, just unzip it to a new folder.
+
+#### 2.1.4 Perform jperf test
+
+Open the `jperf.bat` software and configure as follows:
+
+- Select `Client` mode
+- Enter the IP address 192.168.12.71 just obtained (fill in according to the actual address)
+- Modify the port number to 5001
+- Click `run Lperf!` to start the test
+- Wait for the test to end. During the test, the test data will be displayed on the shell interface and JPerf software.
+
+TCP mode software settings
+
+![iperfs](../images/iperfs.png)
+
+udp mode software settings
+
+![iperfs-udp](../images/iperfs-udp.png)
+
+### 2.2 iperf client mode
+
+#### 2.2.1 Get the IP address of the PC
+
+Use the ipconfig command on the command prompt window of the PC to obtain the IP address of the PC, and write down the obtained PC IP address as 192.168.12.45 (record according to the actual situation).
+
+#### 2.2.2 Install JPerf test software
+
+The installation file is located in `/tools/jperf.rar`, this is a green software, the installation is actually a process of decompression, just unzip it to a new folder.
+
+#### 2.2.3 Start jperf server
+
+Open the `jperf.bat` software and configure as follows:
+
+- Select `Server` mode
+- Modify the port number to 5001
+- Click `run Lperf!` to start the server
+
+#### 2.2.4 Start iperf client
+
+You need to use Finsh/MSH commands on RT-Thread to start the iperf client. The general effect is as follows:
+
+tcp mode
+
+```
+msh />iperf -c 192.168.12.45 -p 5001
+```
+
+udp mode
+
+```
+msh />iperf -u -c 192.168.12.45 -p 5001
+```
+
+- -c means to start as a client, and then need to add the IP address of the pc running the server
+- -p means to connect to port 5001
+- Wait for the test to end. During the test, the test data will be displayed on the shell interface and JPerf software.
+
+TCP mode software settings
+
+![iperfc](../images/iperfc.png)
+
+udp mode software settings
+
+![iperfc-udp](../images/iperfc-udp.png)

+ 35 - 0
netio/README-en.md

@@ -0,0 +1,35 @@
+# NetIO: Network throughput test tool
+
+## 1 Introduction
+
+[NetIO](http://www.nwlab.net/art/netio/netio.html) A tool for network performance testing on OS/2 2.x, Windows, Linux and Unix. It uses TCP/UDP to test network net throughput using data packets of different sizes.
+
+RT-Thread currently supports NetIO TCP server.
+
+## 2. Use
+
+### 2.1 Start NetIO server
+
+You need to use Finsh/MSH commands on RT-Thread to start the NetIO server. The general effect is as follows:
+
+```
+msh />netio_init
+NetIO server start successfully
+msh />
+```
+
+### 2.2 Install NetIO-GUI test software
+
+The installation file is located in `/tools/netio-gui_v1.0.4_portable.exe`, this is a green software, the installation is actually a process of unzipping, just unzip it to a new folder.
+
+### 2.3 Perform NetIO testing
+
+Open the newly installed `NetIO-GUI` software and configure it as follows:
+
+- Open `NetIO-GUI.exe`;
+- Select `Client-Mode` mode, `TCP` protocol;
+- Fill in the IP address of the NetIO server. You can use the ifconfig command to view under MSH of RT-Thread;
+- Click `Start measure` to start the test (before the test, make sure that the server can be pinged by the PC);
+- Wait for the test to end. After the end, the receiving and sending test results corresponding to different data packets will be displayed in the result area.
+
+![netio_tested](../images/netio_tested.png)

+ 78 - 0
ntp/README-en.md

@@ -0,0 +1,78 @@
+# NTP: Network Time Protocol
+
+## 1 Introduction
+
+[NTP](https://baike.baidu.com/item/NTP) is the Network Time Protocol, which is a protocol used to synchronize the time of each computer in the network.
+
+An NTP client is implemented on RT-Thread. After connecting to the network, the current UTC time can be obtained and updated to RTC.
+
+## 2. Use
+
+First open meunconfig, configure and start the netutils package. In the configuration options, 3 NTP servers are provided by default to ensure the reliability of the NTP function.
+
+### 2.1 Get UTC time
+
+[UTC time](https://baike.baidu.com/item/%E5%8D%8F%E8%B0%83%E4%B8%96%E7%95%8C%E6%97%B6/787659?fromtitle=UTC&fromid=5899996) Also known as Universal Time, Universal Standard Time, International Coordinated Time. Beijing time is UTC+8 time, which is 8 hours longer than UTC time, or understood as 8 hours earlier.
+
+API: `time_t ntp_get_time(void)`
+
+|Parameter |Description|
+|:----- |:----|
+|return |`>0`: current UTC time, `=0`: failed to obtain time|
+
+
+Sample code:
+
+```C
+#include <ntp.h>
+
+void main(void)
+{
+    time_t cur_time;
+
+    cur_time = ntp_get_time();
+    
+    if (cur_time)
+    {
+        rt_kprintf("NTP Server Time: %s", ctime((const time_t*) &cur_time));
+    }
+}
+```
+
+### 2.2 Get local time
+
+Local time is more than UTC time with the concept of time zone. For example, Beijing time is Dongba District, which is 8 hours longer than UTC time.
+
+The current time zone can be set in `menuconfig`, the default is `8`
+
+API: `time_t ntp_get_local_time(void)`
+
+|Parameter |Description|
+|:----- |:----|
+|return |`>0`: current local time, `=0`: failed to get time|
+
+The API usage method is similar to `ntp_get_time()`
+
+### 2.3 Sync local time to RTC
+
+If the RTC device is turned on, you can also use the following command and API to synchronize the local time of NTP to the RTC device.
+
+The effects of Finsh/MSH commands are as follows:
+
+```
+msh />ntp_sync
+Get local time from NTP server: Sat Feb 10 15:22:33 2018
+The system time is updated. Timezone is 8.
+msh />
+```
+
+API: `time_t ntp_sync_to_rtc(void)`
+
+|Parameter |Description|
+|:----- |:----|
+|return |`>0`: current local time, `=0`: time synchronization failed|
+
+## 3. Matters needing attention
+
+- 1. When the NTP API method is executed, it will take up a lot of thread stacks. Make sure that the stack space is sufficient (≥1.5K) when using it;
+- 2. NTP API method **Does not support reentrancy**, please pay attention to lock when used concurrently.

+ 36 - 0
ping/README-en.md

@@ -0,0 +1,36 @@
+# Ping
+
+## 1 Introduction
+
+[ping](https://baike.baidu.com/item/ping/6235) is a network tool used to test whether data packets can reach a specific host through the IP protocol. Estimate the packet loss rate (packet loss rate) and round-trip time (network delay, Round-trip delay time) between the host and the host.
+
+## 2. Use
+
+Ping supports access to `IP address` or `domain name`, use Finsh/MSH command to test, the general effect is as follows:
+
+### 2.1 Ping domain name
+
+```
+msh />ping rt-thread.org
+60 bytes from 116.62.244.242 icmp_seq=0 ttl=49 time=11 ms
+60 bytes from 116.62.244.242 icmp_seq=1 ttl=49 time=10 ms
+60 bytes from 116.62.244.242 icmp_seq=2 ttl=49 time=12 ms
+60 bytes from 116.62.244.242 icmp_seq=3 ttl=49 time=10 ms
+msh />
+```
+
+### 2.2 Ping IP
+
+```
+msh />ping 192.168.10.12
+60 bytes from 192.168.10.12 icmp_seq=0 ttl=64 time=5 ms
+60 bytes from 192.168.10.12 icmp_seq=1 ttl=64 time=1 ms
+60 bytes from 192.168.10.12 icmp_seq=2 ttl=64 time=2 ms
+60 bytes from 192.168.10.12 icmp_seq=3 ttl=64 time=3 ms
+msh />
+
+```
+
+## 3. Common problems
+
+-The ping function support is exported by default in the netdev component. If you use the netdev component included and enabled in the system, this configuration option will not be displayed in the ENV.

+ 298 - 0
tcpdump/README-en.md

@@ -0,0 +1,298 @@
+# tcpdump
+
+## 1 Introduction
+This is a small tool for capturing IP packets based on RT-Thread. The captured data can be saved through the file system, or imported into the PC through the rdb tool, and analyzed by the wireshark software.
+
+
+
+### 1.1, dependency
+
+- Rely on [optparse](https://github.com/liu2guang/optparse) package
+- Rely on [dfs](https://www.rt-thread.org/document/site/rtthread-development-guide/rtthread-manual-doc/zh/1chapters/12-chapter_filesystem/) file system
+- Rely on [env](https://www.rt-thread.org/document/site/rtthread-development-guide/rtthread-tool-manual/env/env-user-manual/) tool
+- RT-Thread 3.0+, no dependency on bsp
+
+### 1.2、How to get
+- Use menuconfig to enable tcpdump, the details are as follows:
+
+```
+  RT-Thread online packages --->
+      IOT internet of things --->
+          [*] netutils: Networking utilities for RT-Thread --->
+          [*] Enable tcpdump tool
+          [] Enable tcpdump data to print on the console
+          [*] Enable tcpdump debug log output
+```
+After saving the menuconfig configuration, use the `pkgs --update` command to download the package
+
+> Note: The debugging information is not recommended
+
+
+
+## 2. Use
+
+### 2.1, the meaning of tcpdump command
+
+```
+-i: Specify the listening network interface
+-m: select the save mode (file system or rdb)
+-w: user-specified file name xx.pcap
+-p: stop capturing packets
+-h: help information
+```
+
+### 2.2、Command details
+
+```
+msh />tcpdump -h
+
+|>------------------------- help -------------------------<|
+| tcpdump [-p] [-h] [-i interface] [-m mode] [-w file]     |
+|                                                          |
+| -h: help                                                 |
+| -i: specify the network interface for listening          |
+| -m: choose what mode(file-system or rdb) to save the file|
+| -w: write the captured packets into an xx.pcap file      |
+| -p: stop capturing packets                               |
+|                                                          |
+| e.g.:                                                    |
+| specify network interface and select save mode \         |
+| and specify filename                                     |
+| tcpdump -ie0 -mfile -wtext.pcap                          |
+| tcpdump -ie0 -mrdb -wtext.pcap                           |
+|                                                          |
+| -m: file-system mode                                     |
+| tcpdump -mfile                                           |
+|                                                          |
+| -m: rdb mode                                             |
+| tcpdump -mrdb                                            |
+|                                                          |
+| -w: file                                                 |
+| tcpdump -wtext.pcap                                      |
+|                                                          |
+| -p: stop                                                 |
+| tcpdump -p                                               |
+|                                                          |
+| -h: help                                                 |
+| tcpdump -h                                               |
+|                                                          |
+| write commands but no arguments are illegal!!            |
+| e.g.: tcpdump -i / -i -mfile  / -i -mfile -wtext.pcap    |
+|>------------------------- help -------------------------<|
+
+msh />
+```
+
+
+## 3. Use the file system to save the captured data
+
+> We are here to mount the sd-card to the file system
+
+### 3.1, prepare before capturing
+
+Before powering on the development board, insert the sd-card
+
+- If the mount is successful, it will prompt:
+
+```
+SD card capacity 31023104 KB
+probe mmcsd block device!
+found part[0], begin: 10485760, size: 29.580GB
+File System initialized!
+```
+
+- If the mount fails, it will prompt:
+
+```
+sdcard init fail or timeout: -2!
+```
+
+- The mount is successful, enter `list_device` to see the `sd0` device, the details are as follows:
+
+```
+msh />list_device
+device         type         ref count
+------ -------------------- ---------
+sd0    Block Device         1       
+e0     Network Interface    0             
+usbd   USB Slave Device     0                   
+rtc    RTC                  1       
+spi4   SPI Bus              0       
+pin    Miscellaneous Device 0       
+uart1  Character Device     3       
+msh />
+```
+
+### 3.2, check before capturing packets
+
+> Please confirm the IP address of the board before capturing packets
+
+
+- In msh />, enter `ifconfig` to view, the details are as follows:
+
+```
+msh />
+network interface: e0 (Default)
+MTU: 1500
+MAC: 00 04 9f 05 44 e5
+FLAGS: UP LINK_UP ETHARP BROADCAST
+ip address: 192.168.1.137
+gw address: 192.168.1.1
+net mask: 255.255.255.0
+dns server #0: 192.168.1.1
+dns server #1: 0.0.0.0
+msh />
+```
+
+### 3.3, start capturing packets
+
+- In msh />, enter `tcpdump -ie0 -mfile -wtext.pcap`, the details are as follows:
+
+```
+msh />tcpdump -ie0 -msd -wtext.pcap
+[TCPDUMP]select [e0] network card device
+[TCPDUMP]select [file-system] mode
+[TCPDUMP]save in [text.pcap]
+[TCPDUMP]tcpdump start!
+msh />
+```
+
+- Use the capture command to create a thread, the thread priority is 12.
+- Enter the `list_thread` command to view the running threads, the thread name is `tdth`, details are as follows:
+
+```
+thread pri status sp stack size max used left tick error
+-------- --- ------- ---------- ---------- ------ ------ ---- ---
+tdth 12 suspend 0x000000ac 0x00000800 08% 0x0000000a 000
+tshell 20 ready 0x00000070 0x00001000 22% 0x00000003 000
+rp80 8 suspend 0x0000009c 0x00000400 15% 0x0000000a 000
+phy 30 suspend 0x00000070 0x00000200 28% 0x00000001 000
+usbd 8 suspend 0x00000098 0x00001000 03% 0x00000014 000
+tcpip 10 suspend 0x000000b4 0x00000400 39% 0x00000014 000
+etx 12 suspend 0x00000084 0x00000400 12% 0x00000010 000
+erx 12 suspend 0x00000084 0x00000400 34% 0x00000010 000
+mmcsd_de 22 suspend 0x0000008c 0x00000400 49% 0x00000013 000
+tidle 31 ready 0x00000054 0x00000100 32% 0x0000001a 000
+main 10 suspend 0x00000064 0x00000800 35% 0x00000010 000
+msh />
+```
+
+### 3.4, packet capture test
+
+> Use [ping](https://github.com/RT-Thread-packages/netutils/blob/master/ping/README.md) command to perform packet capture test, `ping` command needs to be enabled in menuconfig configuration, Details are as follows:
+
+```
+  RT-Thread online packages --->
+      IOT internet of things --->
+          [*] Enable Ping utility
+```
+After saving the menuconfig configuration, use the `pkgs --update` command to download the package
+
+#### 3.4.1, ping domain name
+
+- Enter `ping rt-thread.org` in msh />, the details are as follows:
+
+```
+msh />ping rt-thread.org
+60 bytes from 116.62.244.242 icmp_seq=0 ttl=49 time=11 ticks
+60 bytes from 116.62.244.242 icmp_seq=1 ttl=49 time=10 ticks
+60 bytes from 116.62.244.242 icmp_seq=2 ttl=49 time=12 ticks
+60 bytes from 116.62.244.242 icmp_seq=3 ttl=49 time=10 ticks
+msh />
+```
+
+#### 3.4.2, ping IP
+
+- Enter `ping 192.168.1.121` in msh />, the details are as follows:
+
+```
+msh />ping 192.168.1.121
+60 bytes from 192.168.10.121 icmp_seq=0 ttl=64 time=5 ticks
+60 bytes from 192.168.10.121 icmp_seq=1 ttl=64 time=1 ticks
+60 bytes from 192.168.10.121 icmp_seq=2 ttl=64 time=2 ticks
+60 bytes from 192.168.10.121 icmp_seq=3 ttl=64 time=3 ticks
+msh />
+```
+
+### 3.5, stop capturing packets
+
+- In msh />, enter `tcpdump -p`, the details are as follows:
+
+```
+msh />tcpdump -p
+[TCPDUMP]tcpdump stop and tcpdump thread exit!
+msh />
+```
+
+### 3.6, view the results
+
+- In msh />, enter `ls` to view the saved results, the details are as follows:
+
+```
+msh />ls
+Directory /:
+System Volume Information<DIR>
+text.pcap 1012
+msh />
+```
+
+### 3.7, post-capture processing
+
+Use a card reader to copy the xx.pcap file saved in the sd-card to the PC, and use the packet capture software wireshark to directly analyze the network flow
+
+## 4. Import the captured file into the PC through the rdb tool
+
+### 4.1, open packet capture
+
+- In msh />, enter `tcpdump -ie0 -mrdb -wtext.pcap`, the details are as follows:
+
+```
+msh />tcpdump -ie0 -mrdb -wtext.pcap
+[TCPDUMP]select [e0] network card device
+[TCPDUMP]select [rdb] mode
+[TCPDUMP]save in [text.pcap]
+[TCPDUMP]tcpdump start!
+msh />
+```
+
+### 4.2, packet capture test
+
+- Please refer to 3.4 operation
+
+### 4.3, stop capturing packets
+
+- In msh />, enter `tcpdump -p`, the details are as follows:
+
+```
+msh />tcpdump -p
+[TCPDUMP]tcpdump stop and tcpdump thread exit!
+msh />
+```
+
+### 4.4, view results
+
+- In msh />, enter `ls` to view the saved results, the details are as follows:
+
+```
+msh />ls
+Directory /:
+System Volume Information<DIR>
+text.pcap 1012
+msh />
+```
+
+### 4.5, post-capture processing
+
+Use the rdb tool to import the xx.pcap file to the PC, and use the packet capture software wireshark to directly analyze the network flow
+
+## 5. Matters needing attention
+
+- The tcpdump tool needs to open the sending and receiving threads of lwip
+- The packet capture is over or you don’t want to capture the packet anymore, please enter `tcpdump -p` to end the packet capture
+
+## 6. Contact & Thanks
+
+* Thanks: [liu2guang](https://github.com/liu2guang) made the optprase package
+* Thanks: [uestczyh222](https://github.com/uestczyh222) for making rdb tool & rdb host computer
+* Maintenance: [never](https://github.com/neverxie)
+* Homepage: https://github.com/RT-Thread-packages/netutils

+ 38 - 0
telnet/README-en.md

@@ -0,0 +1,38 @@
+# Telnet: Remote login RT-Thread
+
+## 1 Introduction
+
+[Telnet](https://baike.baidu.com/item/Telnet) The protocol is an application layer protocol, used in the Internet and local area networks, in the form of a virtual terminal, providing two-way, text string-based Interactive function. It belongs to one of the TCP/IP protocol suites. It is the standard protocol and main method of Internet remote login service. It is often used for remote control of web servers and allows users to run work on the remote host on the local host.
+
+RT-Thread currently supports Telnet server. After the Telnet client is successfully connected, it will remotely connect to the Finsh/MSH of the device to realize remote control of the device.
+
+## 2. Use
+
+### 2.1 Start Telnet server
+
+You need to use the Finsh/MSH command on RT-Thread to start the Telnet server. The general effect is as follows:
+
+```
+msh />telnet_server
+Telnet server start successfully
+telnet: waiting for connection
+msh />
+```
+
+### 2.2 Remote login to Telnet server
+
+Install a terminal that supports Telnet client on the local computer, such as putty, Xshell, SecureCRT, here putty is used for demonstration:
+
+- 1. Open putty and select `Telnet` mode;
+- 2. Enter the Telnet server address and click Open;
+- 3. After the connection is successful, you can use RT-Thread Finsh/MSH in the terminal;
+
+![telnet_connect_cfg](../images/telnet_connect_cfg.png)
+
+![telnet_connected](../images/telnet_connected.png)
+
+### 2.3 Notes
+
+- 1. After a successful connection with the Telnet server, the local Finsh/MSH of the device cannot be used. If you need to use it, just disconnect the connected Telnet client;
+- 2. Telnet does not support the shortcut keys of `TAB` auto-completion, `Up`/`Down` to check history, etc.;
+- 3. Currently, Telnet server only supports connecting to **1** clients.

+ 106 - 0
tftp/README-en.md

@@ -0,0 +1,106 @@
+# TFTP: Simple File Transfer Protocol
+
+## 1 Introduction
+
+[TFTP](https://baike.baidu.com/item/TFTP) (Trivial File Transfer Protocol, Trivial File Transfer Protocol) is one of the TCP/IP protocol suites used to transfer simple files between the client and the server The transmission protocol provides an uncomplicated and inexpensive file transmission service. The port number is **69**, which is much lighter than the traditional FTP protocol and is suitable for small embedded products.
+
+RT-Thread currently supports TFTP server and TFTP client.
+
+## 2 TFTP server
+
+The following will introduce the process of starting the TFTP server on the device side and reading and writing files from the device on the PC side as the client.
+
+### 2.1 Start TFTP server
+
+Before transferring files, you need to use the `tftp -s` command on the MSH terminal to start the TFTP server. The general effect is as follows:
+
+```shell
+msh />tftp -s
+msh />tftp server start!
+```
+
+### 2.2 Client Configuration
+
+Open the `Tftpd64` software on the PC and configure the client as follows:
+
+- 1. Select `Tftp Client`;
+- 2. Fill in the IP address of the TFTP server. You can use the `ifconfig` command to view under MSH of RT-Thread;
+- 3. Fill in the port number of the TFTP server, default: `69`
+
+![tftpd_cfg](../images/tftpd_cfg.png)
+
+#### 2.2.1 Send files to the device
+
+- 1. Local File is the file path sent from the PC to the device;
+- 2. `Remote File` is the path (including file name) where the file is saved on the server side. The server side supports relative and absolute paths. Because RT-Thread turns on the `DFS_USING_WORKDIR` option by default, the relative path is based on the directory currently entered by Finsh/MSH. Therefore, when using a relative path, be sure to switch the directory in advance;
+- 3. Click the `Put` button to send the file to the device.
+
+As shown in the figure below, send the file to the current directory, where **relative path** is used:
+
+![tftpd_put](../images/tftpd_put.png)
+
+> Note: If `DFS_USING_WORKDIR` is not turned on and `Remote File` is empty, the file will be saved to the root path.
+
+#### 2.2.2 Receive files from the device
+
+- 1. Local File is the storage path of the received file on the PC (including the file name);
+- 2. `Remote File` is the path of the file sent by the server (including the file name), and the options support relative and absolute paths. Since RT-Thread turns on the `DFS_USING_WORKDIR` option by default, the relative path is based on the directory currently entered by Finsh/MSH. Therefore, when using a relative path, be sure to switch the directory in advance;
+- 3. Click the `Get` button.
+
+As shown below, save `/web_root/image.jpg` locally, where **absolute path** is used:
+
+```
+msh /web_root>ls ##Check if the file exists
+Directory /web_root:
+image.jpg 10559
+msh /web_root>
+```
+
+![tftpd_get](../images/tftpd_get.png)
+
+## 2.3 TFTP client
+
+The following will introduce the process of reading and writing files from the PC on the device as a TFTP client.
+
+### 2.3.1 Server configuration
+
+Open the newly installed `Tftpd64` software and configure it as follows:
+
+- 1. Select `Tftp Server`;
+- 2. Configure the server folder path
+- 3. In the drop-down box of `Server interfaces`, be sure to select the network card that is in the same network segment as RT-Thread;
+
+![tftpd_cfg](../images/tftp_server.png)
+
+### 2.3.1 TFTP command details
+
+TFTP client read file command details
+
+tftp -r/-w ip_addr file_name [-p]
+
+- tftp: The first parameter is fixed `tftp`
+- -w: write files to the server
+- -r: read files from the server
+- ip_addr: server IP address
+- file_name: file name
+- -p: server port number
+
+### 2.3.2 TFTP read file
+
+tftp -r ip_addr file_name
+
+Use the above command to download a file on the tftp server to the local. Examples of commands are as follows:
+
+eg: tftp -r 192.168.1.13 text.txt
+
+Download the text.txt file from the server 192.168.1.13 to the local root path
+
+### 2.3.2 TFTP write file
+
+tftp -w ip_addr file_name
+
+Use the above command to upload a local file to the tftp server. Examples of commands are as follows:
+
+eg: tftp -w 192.168.1.13 text.txt
+
+Upload the text.txt file under the local root path to the 192.168.1.13 server