Network Commands Memo

rsync

Use the --dry-run option for testing and environment RSYNC_PARTIAL_DIR=.rsync-tmp to keep partial files separates.

diff -r /path/to/dir1/ /path/to/dir2/ diff recursively two directories.
diff -rq /path/to/dir1/ /path/to/dir2/| sort list files that differs between two directories
diff -rq /path/to/dir1/ /path/to/dir2/| diffstat summarize differences between two directories
rsync -avn source-dir/ target-dir/ what files differs (size mod time) between two directories.
rsync -avnc source-dir/ target-dir/ what files differs (checksum) between two directories.
rsync -P rsync://rsync.server.com/path/to/file file Use partial transfer, repeat for troublesome downloads.
rsync --bwlimit=1000 fromfile tofile Locally copy with rate limit. It’s like nice for I/O
rsync -az --delete ~/public_html/ remote.com:’~/public_html’ Mirror web site (using compression and encryption)
rsync -auz remote:/dir/ . && rsync -auz . remote:/dir/ Synchronize current directory with remote one.

ssh

More info in the ssh section.

ssh $USER@$HOST command Run command on $HOST as $USER (default command=shell)
ssh -f -Y $USER@$HOSTNAME xterm Run GUI command on $HOSTNAME as $USER
ssh -c ‘chacha20-poly1305@openssh.com’ -f -Y $USER@$LANHOST xterm Run GUI command on $LANHOST as $USER with faster crypto.
tar -cf- src | ssh -q -c arcfour128 $LANHOST tar -xf- -Cdest quick directory transfer.
scp -p -r -C $USER@$HOST: file dir/ Copy with permissions to $USER’s home directory on $HOST, compress for slow links.
scp -c arcfour128 $USER@$LANHOST: bigfile Use faster crypto for local LAN, but tar over ssh is to be preferred.
ssh -g -L 8080:localhost:80 root@$HOST Forward connections to $HOSTNAME:8080 out to $HOST:80
ssh -R 1434:imap:143 root@$HOST Forward connections from $HOST:1434 in to imap:143
ssh -D 9999 $USER@$HOST create a SOCKS proxy on localhost and port 9999
ssh-copy-id $USER@$HOST Install public key for $USER@$HOST for password-less log in

wget

(cd dir/ && wget -nd -pHEKk http://rest-sphinx-memo.readthedocs.org/) Store local browsable version of a page to the current dir
wget -c http://www.example.com/large.file Continue downloading a partially downloaded file
wget -r -nd -np -l1 -A ‘*.jpg’ http://www.example.com/dir/ Download a set of files to the current directory
wget ftp://remote/file[1-9].iso/ FTP supports globbing directly
wget -q -O- http://www.example.com/page cat to /dev/stdout
echo ‘wget url’ | at 01:00 Download url at 1AM to current dir
wget --limit-rate=20k url Do a low priority download (limit to 20KB/s)
wget -nv --spider --force-html -i bookmarks.html Check links in a file
wget --mirror http://www.example.com/ Efficiently update a local copy of a site (handy from cron)

networking

ethtool eth0 Show status of ethernet interface eth0
ethtool --change eth0 autoneg off speed 100 duplex full Manually set ethernet interface speed
iwconfig eth1 Show status of wireless interface eth1
iwconfig eth1 rate 1Mb/s fixed Manually set wireless interface speed
iwlist scan List wireless networks in range
ip link show List network interfaces
ip link set dev eth0 name wan Rename interface eth0 to wan
ip link set dev eth0 address 00:80:c8:f8:be:ef Change mac address.
ip link set dev eth0 up Bring interface eth0 up (or down)
ip addr show List addresses for interfaces
ip addr add 1.2.3.4/24 dev eth0 Add (or del) ip and mask (255.255.255.0)
ip route show List routing table
ip route add default via 1.2.3.254 Set default gateway to 1.2.3.254
ip route add 192.168.16.0/28 via 192.168.31.254 route subnet
ifconfig -a List network interfaces
ifconfig eth0 1.2.3.4 up Bring interface eth0 up (or down)
ifconfig eth0 1.2.3.4 netmask 255.255.255.0 Add first ip and mask
ifconfig eth0:0 1.2.3.5 netmask 255.255.255.0 Add additional ip and mask
route -n List routing table
route add default gw 1.2.3.254 Set default gateway to 1.2.3.254
route add -net 192.168.16.0 netmask 255.255.240.0 gw 192.168.31.254 route subnet
host github.com Lookup DNS ip address for name or vice versa
hostname -i Lookup local ip address (equivalent to host `hostname`)
whois mzlinux.org Lookup whois info for hostname or ip address
sudo netstat -tupl List internet services on a system
sudo netstat -tup List active connections to/from system
sudo ss -tup List tcp and udp active connections to/from system
iptraf interactive ncurses colorful IP LAN monitor.
vnstat Console hourly, daily and monthly network traffic.
lsof -i tcp:443 What tcp connection is using port 443.
lsof -i :5800 What is using port 5800.
lsof -i @192.168.1.5:22 connections to host 192.168.1.5 port 22
curl -I htps://github.org Display the server headers for a web site.
curl -s https://ftp-master.debian.org/keys/archive-key-7.0.asc | gpg --import Import a gpg key from the web
curl ifconfig.me get your external address through ifconfig.me
sudo apache2ctl -S Display a list of apache virtual hosts

network manager

nmcli state of network-manager including Wireless Access Points
nmcli dev status status of all devices
nmcli dev show details of all devices and connections
nmcli dev show eth0 details of a specific device.
nmcli radio wifi off disable wifi
nmcli con show list of registered connections
nmcli con show –active list of active connections
nmcli con show df67bf87-452f-4a03-af4e-60f31afd749a show connection details by uuid
nmcli con show id myaccess_pt show connection details by id
nmcli con -f IP4.dns con show eth0-dhcp dns of a connection
nmcli –show-secret –field 802-11-wireless-security.psk con show id myaccess_pt show a connection password
nmcli connection del id ‘my access pt’ delete connection
nmcli con modify id old_id connection.id new_id change connection id
nmcli con up id MyWifi password mypasswd connect with password
nmcli con edit conid interactive edit the connection
nmcli dev wifi list List available Wi-Fi access points.
nmcli -p dev wifi list pretty list of all availables wifi access points
nmcli dev wifi connect FreeWifi setup and activate a new connection
nmcli dev wifi connect apssid name conname password private new connection with name and password
nmcli -f IP4 dev show eth0 IPV4 adress, gateway, and dns
nmcli -f general.connection dev show eth0 active connection on an iface
nmcli dev disconnect wlan0 disconnect wlan0 interface
curl -F login=myid -F password=mypasswd https://wifi.provider.org/Auth Connect to open spot