Linux 命令行网络相关(curl/wget/nc...)


Author: yifei / Created: May 31, 2017, 2:54 p.m. / Modified: May 31, 2017, 3:08 p.m. / Edit

有待整理。。。

fuser

view which program is using which port.

fuser XXX/tcp  # see which program is using tcp port XXX
fuser XXX/upd  # see which program is using udp port XXX
fuser -k XXX/tcp  # kill the program, if you have right permissions

curl

wget 功能很有限,httpie 虽然比较人性化但是有很多 bug,还是 curl 比较好用。

curl -L/--follow http://example.com follow redirect curl -I/--head http://example.com only headers curl -o/--output file http://example.com http -d curl -v/--verbose http://example.com
curl --data "key=value" http://example.com
curl --data-urlencode "key= curl -X/--request GET/POST http://example.com
curl -H/--header "Accept: utf-8"
curl --referer http://x.com http://example.com curl --user-agent curl --cookie

使用代理

curl -x ://:@: --proxy-anyauth

cookies

curl -v --cookie "USER_TOKEN=Yes" http://127.0.0.1:5000/

查看网络情况

需要注意的是,在 Linux 上 netstat 已经废弃了,应该使用新的 ss 命令。不过在 macOS 等Unix系统中,还是只有netstat

netstat -a  list all ports
netstat -at list all tcp ports
netstat -l  all listening ports

netstat -in 查看提供网络接口的信息

netstat -rn 显示路由表

ifconfig eth0 显示接口的状态

ifconfig -a 所有接口的状态

ip addr eth0 全新的命令

Mac

和 Linux 基本相同, 但是缺少 ip 指令, 需要安装 iproute2mac 包

traceroute

nslookup

host

wget --noproxy

mtr

bt download

sudo add-apt-repository ppa:t-tujikawa/ppa sudo apt-get update sudo apt-get install aria2

使用 rsync 同步

rsync -azP local_dir remote_dir

默认情况下,rsync 使用增量同步,而不会删除文件。使用 --delete 删除文件


有任何问题可以发邮件到 kongyifei (at) gmail.com 讨论