Skip to content

network tips

use a different ip address on a curl command

to use 127.0.0.1 instead the real ip address of docs.rda.run

curl --resolve docs.rda.run:443:127.0.0.1 https://docs.rda.run

download ssl certificate

echo quit | openssl s_client -showcerts -servername docs.rda.run -connect docs.rda.run:443 > site-cert.pem

to use this cert on curl

curl --cacert site-cert.pem https://docs.rda.run

to use this cert on wget

wget --ca-certificate=site-cert.pem https://docs.rda.run

verify network throughput between two servers

on server 01

iperf3 -s

on server 02

upload speed, Mbits/sec
iperf3 -f m -c <IP_SERVER_01> | grep sender | awk -F " " '{print $7}'
download speed, Mbits/sec
iperf3 -f m -c <IP_SERVER_01> -R | grep sender | awk -F " " '{print $7}'

running iperf3 as a service

/etc/systemd/system/iperf3.service
[Unit]
Description=iperf3 server
After=syslog.target network.target

[Service]
ExecStart=/usr/bin/iperf3 -s
Restart=always
RuntimeMaxSec=3600
User=iperf

[Install]
WantedBy=multi-user.target
DefaultInstance=5201
sudo adduser --system --no-create-home -s /sbin/nologin iperf
sudo systemctl daemon-reload
sudo systemctl start iperf3

list all ipv4 address of a network

nmap -sn 172.17.3.0/24 | grep -B 1 'Host is up' | grep -oE '[[:digit:]]{1,}\.[[:digit:]]{1,}\.[[:digit:]]{1,}\.[[:digit:]]{1,}'

telnet with timeout

# echo quit | timeout --signal=9 3 telnet [HOST] [PORT]
$ echo quit | timeout --signal=9 3 telnet rda.run 6969
Trying 172.217.28.14...
Killed

using curl to calculate website load time

curl -o /dev/null -s -w %{time_total}\\n https://rda.run
0,536215 # Resposta (em segundos)

you can get some other infos too.

curl -o /dev/null -s -w {time_connect}:%{time_starttransfer}:%{time_total}\\n https://rda.run
# connection time : transfer start : total time in seconds
0,035299:0,151648:0,157692

port redirect on windows 10

use powershell as admin:

netsh interface portproxy add v4tov4 listenport=80 listenaddress=127.0.0.1 connectport=80 connectaddress=192.168.99.100

to test if the rule was applied:

netsh interface portproxy show all

to remove the rule:

netsh interface portproxy delete v4tov4 listenport=80 listenaddress=127.0.0.1

resume a curl download

curl -C - -o partial-file.bin 'www.example.com/caminho/do/partial-file.bin'

limit syncthing to only use local network

  • ActionsSettingsConnections: uncheck Enable NAT traversal, Global Discovery, Enable Relaying and Local Discovery
  • ActionsAdvancedDevices: limit the allowed networks to your network only. 192.168.178.0/24, for example
  • Remote DeviceseditAdvancedAddresses: set tcp://192.168.178.xx:22000, for example
  • ActionsAdvancedOptions: uncheck Announce LAN Addresses and Crash Reporting Enabled