networks - doubility-sky/daydayup GitHub Wiki

A computer network is a digital telecommunications network for sharing resources between nodes, which are computing devices that use a common telecommunications technology. Data transmission between nodes is supported over data links consisting of physical cable media, such as twisted pair or fiber-optic cables, or by wireless methods, such as Wi-Fi, microwave transmission, or free-space optical communication.

Learn

TCP/IP

HTTP

Socket

WebSocket

KCP

kcptun

RPC

gRPC

gRPC is a modern open source high performance RPC framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking and authentication. It is also applicable in last mile of distributed computing to connect devices, mobile applications and browsers to backend services.

DNS

Protocols and APIs

Tools

  • 如何用Linux命令行管理网络:11个你必须知道的命令
  • mtr combines the functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool.
  • iperf3 : A TCP, UDP, and SCTP network bandwidth measurement tool
  • curl A command line tool and library for transferring data with URL syntax, supporting HTTP, HTTPS, FTP, FTPS, GOPHER, TFTP, SCP, SFTP, SMB, TELNET, DICT, LDAP, LDAPS, FILE, IMAP, SMTP, POP3, RTSP and RTMP. libcurl offers a myriad of powerful features https://curl.haxx.se/
  • clumsy makes your network condition on Windows significantly worse, but in a controlled and interactive manner. http://jagt.github.io/clumsy/
  • comcast Simulating shitty network connections so you can build better systems.
  • Netdata is distributed, real-time, performance and health monitoring for systems and applications. It is a highly-optimized monitoring agent you install on all your systems and containers.
  • echoip: A simple service for looking up your IP address. This is the code that powers https://ifconfig.co.
    • curl ip.gs

analyzer

  • Wireshark Wireshark is a network traffic analyzer, or "sniffer", for Linux, macOS, *BSD and other Unix and Unix-like operating systems and for Windows. It uses Qt, a graphical user interface library, and libpcap and npcap as packet capture and filtering libraries. https://www.wireshark.org/

download

  • aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink. https://aria2.github.io/
    • webui-aria2 The aim for this project is to create the worlds best and hottest interface to interact with aria2. Very simple to use, just download and open index.html in any web browser.
  • qBittorrent is a bittorrent client programmed in C++ / Qt that uses libtorrent (sometimes called libtorrent-rasterbar) by Arvid Norberg. https://www.qbittorrent.org/
  • Download whole website wget -r -p -np -k https://golang.org/

FAQs

  • 获取公网 IP
    curl myip.ipip.net
    curl ip.sb
    curl ipinfo.io/ip
    curl icanhazip.com
    curl ipecho.net/plain
    

Resources

  • Awesome Networking, A curated list of awesome networking libraries, resources and shiny things.