本文是《Linux大棚命令百篇下》网络篇的总结
ping
-c 指定数量,在windows下会自动停止,linux下会一直ping下去
-q 简短报告
-s 指定每次ping的数据包大小,最大为65507kb
-t 指定生存时间,即路由器跳数
-i 指定每次ping的间隔,默认为1秒
一些单词
mdev Mean Deviation 衡量网速的稳定性,越大越不稳定
ICMP 因特网控制消息协议
MTU 最大传输单元
wget
wget的配置文件在/etc/wgetrc
wget http://www.okfcm.win/a.jpg
-r 递归下载
-X(大) 后跟文件夹名可以不下载指定的文件夹
-c --continue 断点续传 , 后根某个未下载完的文件地址,但如是重要文件还要验证md5
ssh-copy-id
先在本机A机 ssh-keygen -t rsa 生成id_rsa(私钥)和id_rsa.pub(公钥)
ssh-copy-id nameB@machineB 或 ssh-copy-id "-p 22000 name@machineB"(指定端口为22000)
nc
建立连接
服务端 nc -l 12345
客户端 nc 服务端ip 12345
即可连接成功.默认建立tcp连接, -u选项指定为udp连接,-v打印详细信息
传输文件
服务端 nc -v -l 12345 < test_发送.txt
客户端 nc -v 服务端ip > test_接收.txt
这里的 < > 号可以互换,接收和发送文件可以互换,注意配对就好.
传输文件夹
服务端 tar -cvPf - /root/book/ | nc -l 12345
客户端 nc -n 服务端ip 12345 | tar -xvPf -
???这里tar命令里的 - 我不明白,见到很多次了,但是不能缺少
这里可以加上-z(zip) 或 -j(bzip2)来进行压缩,节省带宽
nslookup
分两种模式 交互模式 非交互模式
nslookup - 8.8.8.8 指定使用谷歌的dns服务器
Non-authoritative 非权威,即返回的数据为dns服务器缓存中的数据
canonical name 即cname 别名
A记录 表示从域名解析到IP地址 nslookup -type
dig
dns查询工具
dig @8.8.8.8 www.baidu.com
dig -x 193.0.14.129 反解,从ip到域名映射关系,结果输出的是解析结果,并不是一个域名!!!
dig +short www.baidu.com 精简dig输出
netstat
2001年之后就不更新了,对linux新内核的解析应用不好,使用 iproute2工具包来替代
ss
ss即Socket Statistics的缩写,可用于获取socket统计信息,比netstat更快
ss -s 查看当前服务器的网络连接统计
ss -l 查看所有打开的网络端口
ss -a 列出所有网络连接
-ta 只查看tcp socket
-ua 只查看udp socket
tcpdump
tcpdump -i eth0 --nn -X 'port 53' -c 1
-i 指定网卡
-nn 不要将端口号和协议号转为对应的协议名称或端口名称
-X(大) 将协议头和包内容原远本本显示出来
port 53 只抓源端口或目的端口是53的数据包
-c 指定要抓多少包
-e 增加以太网帧头部信息输出
-l 让输出变为行缓冲
-t 输出时不打印时间戳
-v 输出更详细的信息
-F 指定过滤表达式所在的文件
流量保存和回放
tcpdump -i eth0 -w flowdata 将流量存储在flowdata中,二进制
tcpdump -r flowdata 将流量回放
指定协议抓包
tcpdump -i eth0 -c 10 'udp'
后边的协议可以为ether ip ip6 arp tcp rarp,
抓取网络包中目的地址为8.8.8.8的包 tcpdump -i eth0 'dst 8.8.8.8'
抓指定端口 tcpdump -i eth0 -c 3 'dst port 53 or dst port 80'
抓指定服务器 tcpdump -i eth0 'host baidu.com'