TCP/IP详解卷一:协议中的一些工具命令
Linux/Mac
- 查看链路本地 IPv6 地址
- ifconfig eth1
- 查看正在使用的 ip 地址和组
- ifconfig ppp0
- netstat -gn
- 为 VLAN ID 为 2 的接口 eth1 添加、删除虚拟接口,修改虚拟接口的命名方式:61页
- vconfig add eth1 2
- iconfig eth1.2
- vconfig rem eth1.2
- vconfig set_name_type VLAN_PLUS_VID
- vconfig add eth1 2
- ifconfig vlan0002
- 实现跨越不同类型设备的链路聚合(绑定)
- modprobe bonding
- ifconfig bond0 10.0.0.111 netmask 255.255.255.128
- ifenslave bond0 eth0 wlan0
- 查询是否支持全双工,是否正在执行全双工操作
- ethtool eth0
- wol 00:08:74:93:C8:3C:66页
- 启用网桥
- brctl addbr br0
- brctl addif br0 eth0
- brctl addif br0 eth1
- ifconfig eth0 up
- ifconfig eth1 up
- ifconfig br0 up
- brctl show:69页
- brctl showmacs br0:69页
- 删除条目:69页
- brctl setageing br0 1
- brctl showmacs br0
- 网桥启用 STP
- brctl stp br0 on
- brctl showstp br0
- 手动扫描一个站以发现可用的网络及相关配置信息
- iwlist wlan0 scan
- RTS/CTS 阀值设置
- iwconfig wlan0 rts 250
- ping 127.0.0.1
- 查看 ARP 缓存
- arp
- arp -a
- 对一个不存在主机对 arp 请求
- telnet 10.0.0.3 www:117
- tcpdump -e
- date ; telnet 10.0.0.99 ; date
- 跟踪显示 arp
- tcpdump -e -n arp
- 查看一条到达 IP 目的地对路径
- traceroute -n ftp.uu.net
- 释放使用 dhcp 获得的数据
- dhclient
- 获得/更新 dhcp 数据
- dhclient -r
- 启用临时地址
- sysctl -w net.ipv6.conf.all.use_tempaddr=2
- sysctl -w net.ipv6.conf.default.use_tempaddr=2
- 禁用临时地址
- sysctl -w net.ipv6.conf.all.use_tempaddr=0
- sysctl -w net.ipv6.conf.default.use_tempaddr=0
- 禁用 SLAAC
- sysctl -w net.ipv6.conf.all.autoconf=0
- 展示应用程序超时和 ICMP 限速的 TFTP 客户端
- tftp 10.0.0.1 get /foo
- tcpdump -s 1500 -i eth1 -vv icmp or port tftp
- 检查 Linux 上 ICMPv4 的速率掩码和速率限制
- sysctl -a | grep icmp_rate
- tcpdump host 10.212.2.88
- 确定路由的路径
- traceroute -m 2 www.cs.berkeley.edu
- 发送一个 ICMPv4 回显请求你到子网广播地址
- ping -b 10.0.0.127
- tcpdump -i eth0 -s1500 -vv -p ip6:282页
- 查看路由表
- netstat -rn
- netstat -rn -A inet6
- ping6 -I eth0 ff02::fb:314页
- 显示 IP 组成员
- netstat -gn
- 生成 udp 数据报
- sock -v -u -i 10.0.0.3 discard
- tcpdump -n -p -s 1500 -vvv host 10.0.0.3 and ( udp or icmp )
- 生成指定大小到 udp 数据报
- sock -u -i -n1 -w1471 10.0.0.3 discard
- sock -u -i -n 3 -w1473 www.cs.berkeley.edu echo
- sock -u -i -n 3 -w1473 -p 2 www.cs.berkeley.edu echo
- 启动一个端口号 7777 到 IPv4 UDP 服务器
- sock -u -s 7777
- sock -u -s 127.0.0.1 7777
- netstat -l --udp -n # 查看端点状态
- 发送 udp 数据报
- sock -u -v 10.0.0.3 6666
- 使用多地址
- ip addr add 10.0.2.13 scope host dev eth0
- sock -u -s -A 10.0.0.13 8888
- sock -u -s -A 8888
- 限制远端 IP 地址
- sock -u -s -f 10.0.0.14.4444 5555
- netstat --udp -n
- 请求域名相关到任意类型到记录
- dig +nostats -t ANY rfc-editor.org
- 查看域名
- host ftp.rfc-editor.com
- host -t any www.whitehouse.gov
- 查询 DNS 中与域名 cs.ucla.edu 相关对 MX 记录
- host -t MX cs.ucla.edu ns3.dns.ucla.edu
- 执行 txt 查询
- host -t txt berkeley.edu
- 执行 srv 查询
- host -t srv _ldap._tcp.openldap.org
- 执行 naptr 查询
- host -t naptr mailto.uri.arpa
- 一个全区域传送(AXFR)DNS 信息,使用 TCP 请求一个完整对区域传输
- host -l home.
- 增量区域传输(IXFR 消息)
- dig +short @10.0.0.1 -t ixfr=1997022700 home.
- ldapsearch -x -h ldap.mit.edu -b “dc=mit,dc=edu” “(ou=Chancellor)” :406页
- 手动添加地址到 ARP 表
- arp -s 192.168.10.180 00:00:1a:1b:1c:1d
- 设置 PPPoE 链路最大传输单元到数值
- ifconfig ppp0 mtu 288
- 告知客户端系统允许到最小报文段大小
- sysctl -w net.ipv4.route.min_pmtu=68
- netstat -n -t:443页
- sock -b 2091 -v 127.0.0.1 6666
- tcpdump -vvv -s 1500 tcp
- 链接 Sun 公司提供远程过程调用服务(sunrpt,端口号 111)的服务器
- telnet 10.0.0.7 sunrpc
- netstat -a -n -t:452 页
- sock -s -v -ql =O30000 6666:456页
- 查看 TCP “学习”发送端与接受端之间端链路特征(目的度量)
- ip route show cache 132.239.50.184
- 接受端在处理接收到的数据前暂停 20s
- sock -i -s -P 20 6666
- 观察 SWS 避免的行为:504页
- sock -i -n 3 -w 2048 10.0.0.8 6666
- sock -i -s -P 15 -p 2 -r 256 -R 3000 6666
- 理解紧急机制:512页
- sysctl -w net.ipv4.tcp_rmem=‘4096 4096 174760’
- sock -i -v -s -p 1 -P 10 5555
- sock -i -n 7 -U 7 -p 1 -S 8192 10.0.1.1 5555
- 拥塞控制算法扩展举例:528页
- sock -i -r 32768 -R 233016 -s 6666
- sock -n20 -i -w 131072 -S 262144 128.32.37.219 6666
- tcpdump -s 128 -w sack-to-free-12.td port 6666
- tcptrace -Wl sack-to-free-12.td
- 显示设备 ppp0 的排队规则,即管理和调度包发送的方法:534页
- tc -s -d qdisc show dev ppp0
- 查看一个网站的证书:583页
- CDIR=
openssl version -d|awk '{print $2}'
- openssl s_client -CApath $CDIR -connect www.digicert.com:443 > digicert.out 2>1
- grep “return code” digicert.out # 命令的“认证返回”选择置为 0 将表示 OK
- openssl x509 -in digicert.out -out digicert.pem # 抽取证书中的数据
- openssl x509 -in digicert.pem -text # 查看服务器的证书
- CDIR=
- 验证和撤销证书
- wget http://crl3.digicert.com/ev2009a.crl
- openssl crl -inform der -in ev2009a.crl -text # 检索 CRL 对应的证书
- CERT=DigiCertHighAssuranceEVCA-1.pem
- openssl ocsp -issuer $CERT -cert digicert.pem -url http://ocsp.digicert.com -VAfile $CERT -no_nonce -text
- 解析器操作示例:dig 命令:643-648页
- 签名的动态更新:650页
- nsupdate
- zone dynzon.
- server 127.0.0.1
- key tsigkey.dynzone. 1234567890abcdef
- update delete two.dynzone.
- send
- nsupdate
- 为了检索出公钥来验证签名:653页
- dig gamma._domainkey.gmail.com. txt +nostats +noquestion
- host -t txt _adsp._domainkey.paypal.com.
Mac
- 禁用 SLAAC(至少是针对本地链路地址)
- sysctl -w net.inet6.ip6.auto_linklocal=0
-另一端不可大:568页 - sysctl -w net.inet.tcp.keepidle=75000
- sock -K ldap.mit.edu 389
- sysctl -w net.inet6.ip6.auto_linklocal=0
Windows
- 查看链路本地 IPv6 地址
- ipconfig /all
- 查看 ARP 缓存
- arp
- arp -a
- 设置一个路由头部
- ping6 -r -s 2001:db8::100 2001:db8::1
- 构造一个 ipv6 分片
- ping -l 3952 ff01::2
- ping6 fe80::204:5aff:fa9f:9e80
- 查看一条到达 IP 目的地对路径
- tracert -n ftp.uu.net
- 用于配置弱主机对接受和发送行为
- netsh interface ipvX set interface weakhostreceive=Yabled
- netsh interface ipvX set interface weakhostsend=Yabled
- 释放使用 dhcp 获得的数据
- ipconfig /release
- 获得 dhcp 数据
- ipconfig /renew
- 释放使用 dhcpV6 获得的数据
- ipconfig /release6
- 获得 dhcpV6 数据
- ipconfig /renew6
- 禁用临时地址
- netsh interface ipv6 set privacy state=disabled
- 禁用 SLAAC
- netsh
- interface ipv6
- set interface {ifname} managedaddress=disabled
- interface ipv6
- netsh
- 重定向 ICMPv4 ICMPv6 报文
- netstat -rn
- route delete 0.0.0.0 # delete default
- route add 0.0.0.0 mask 0.0.0.0 10.212.2.112 # add new
- ping ds1.eecs.berkeley.edu # sends thru 10.212.2.212
- ping6 -s fe80::210:18ff:fe00:100b fe80::211:11ff:fe6f:c603:282页
- 确定每个接口上在使用到组播组
- netsh interface ipv6 show joins
- 删除任何由解析器缓存到 DNS 数据,然后执行对 berkeley.edu 对地址(A 记录类型)对查询
- ipconfig /flushdns
- nslookup
- set type=a
- berkeley.edu
- 设置 .in-addr.arpa 域
- nslookup
- server c.in-addr-servers.arpa
- set type=ptr
- 81.131.229.169.in-addr.arpa
- nslookup
- 执行动态 DNS 更新
- ipconfig /registerdns
- 修改默认自动设置接收端缓存大小
- netsh interface tcp set heuristics disabled
- netsh interface tcp set global autotuninglevel=[X]:509页
- X=disabled, highlyrestricted, restricted, normal, experimental
- 选择 CTCP 作为拥塞控制方法
- netsh interface tcp set global congestionprovider=ctcp
- 激活 ECN TCP 功能
- netsh int tcp set global encapability=enabled
总结
- arp
- 系统设置和查看工具
- brctl
- 网桥配置命令
- dhclient
- dhcp 配置命令
- dig
- 查询DNS包括NS记录,A记录,MX记录等相关信息的工具,同 nslookup
- ethtool
- 查询、控制网络驱动和硬件
- host
- 查询解析域名工具
- iconfig
- ifconfig
- 显示或配置网络设备(网络接口卡)的命令
- ifenslave
- 绑定或解绑从网络驱动到已绑定的驱动
- ip
- 显示或操作路由、网络设备、策略路由和隧道
- ipconfig
- 显示设置网络配置信息
- iwconfig
- Linux Wireless Extensions(LWE)的用户层配置工具之一。LWE是Linux下对无线网络配置的工具
- iwlist
- 用于对/proc/net/wireless文件进行分析,得出无线网卡相关信息
- ldapsearch
- 对LDAP进行操作
- modprobe
- 添加或删除 linux 内核可载入模块
- netsh
- 配置并监视基于 Windows 的计算机的工具
- netstat
- 是一个监控TCP/IP网络的非常有用的工具
- nslookup
- 连接DNS服务器,查询域名信息的一个非常有用的命令,和dig都是非常有用的网络命令,简单而言,就是查dns信息用的
- nsupdate
- 动态DNS更新工具
- openssl
- ping
- ping6
- route
- 查看管理 ip 路由表
- sock
- 私有
- sysctl
- 运行时配置内核参数
- tc
- 显示、配置流量控制器
- tcpdump
- 用于倾倒网络传输数据
- tcptrace
- 用于分析TCP转储文件
- telnet
- 基于 telnet 协议用于远端登入
- tftp
- 用于传输文件
- traceroute
- 用于显示数据包到主机间的路径,让你追踪网络数据包的路由途径
- tracert
- Windows路由跟踪实用程序,用于确定IP数据包访问目标时所选择的路径
- vconfig
- VLAN 配置工具
- wol
- 远程唤醒
其它小记
- NAT=网络地址转换
- 工具:Wireshark,tcpdump
- 网关=路由器
- 因特网不等价于万维网,万维网是一种因特网的具体应用
- 分组交换、多路复用:信息分解和组合
- 命运共享
- 端到端 点到点
- protocol data unit=协议数据单元
- 端系统(主机),中间系统(路由器),交换机(网关)12页
- osi 参考模型 != arpanet 参考模型,后者才是 tcp/ip 协议族采纳的
- arp = 地址解析协议
- (arp 网络层)分组 = ip 数据报 = ip pdu
- (arp 链路层)链路层 pdu = 帧
- ip pdu -> 帧 的过程称为“分片”
- ip 数据报 转发:单播、广播、组播
- 熟知端口号(0-1023)、注册端口号(1024-49151)、动态/私有端口号(临时端口号)(49152-65535)
- IP 在链路层、DNS 在应用层、端口在传输层
- 虚拟专用网 = VPN