Linux网络管理
笔记源于慕课网视频课《Linux网络管理》
笔记内容去掉了一些没用的知识点,然后结合网上的博客进行了大量的补充。
笔记整理:Isaac.
第1章 网络基础
- ISO:国际标准化组织
- OSI:开放系统互联模型
- IOS:苹果操作系统
1.1 ISO/OSI七层模型
- 应用层
- 表示层
- 会话层
- 传输层
- 网络层 (报文、IP地址)
- 数据链路层 (帧、MAC地址)
- 物理层 (比特)
分层表示,下层只为上层提供接口,方便管理数据
1.2 TCP/IP四层模型
- 应用层 ≈ (应用层 + 表示层 + 会话层)
- 传输层 ≈ (传输层)(TCP协议、UDP协议)
- 网际互联层 ≈ (网络层)(IP协议、IGMP协议、ICMP协议)
- 网络接口层 ≈ (数据链路层 + 物理层)(ARP协议:把IP地址翻译为物理地址)
1.3 IP地址
IPV4(IP地址32位)
类别 | 公有IP | 私有IP |
---|---|---|
A | 1.0.0.0 - 126.255.255.255 | 10.0.0.0 - 10.255.255.255 |
B | 128.0.0.0 - 191.255.255.255 | 172.16.0.0 - 172.31.255.255 |
C | 192.0.0.0 - 223.255.255.255 | 192.168.0.0 - 192.168.255.255 |
1.4 子网掩码
IP Address + Subnet Mask 配合使用
类别 | 子网掩码 |
---|---|
A | 255.0.0.0 |
B | 255.255.0.0 |
C | 255.255.255.0 |
变长子网掩码及子网规划
- IP地址:172.16.2.121
- 子网掩码:255.255.255.0
- 网络地址:192.16.2.0 (最后全0)
- 主机地址:172.16.2.1 - 172.16.2.254
- 广播地址:172.16.2.255 (最后全1)
1.5 端口
可以类比 IP地址是门牌号,端口号是收件人
端口号(16位) 用于传输层的TCP协议和UDP协议
- FTP(文件传输协议):端口号 20 21
- SSH(安全Shell协议):端口号 22
- telent(远程登录协议):端口号 23
- DNS(域名系统):端口号 53
- http(超文本传输协议):端口号 80
- SMTP(简单邮件传输协议):端口号 25
- POP3(邮局协议3代):端口号 110
查看本机启用的端口的命令 netstat -an
1.6 DNS作用
DNS用于域名解析,因为IP地址用数字表示记忆起来太困难了,人对域名更加敏感
hosts文件 C:\Windows\System32\drivers\etc\hosts
hosts是做静态IP和域名对应,优先于DNS,若是在hosts文件中有记录就不会再去公网找地址
早期hosts文件解析域名:名称解析效能下降,主机维护困难
DNS服务:层次性,分布式
将域名解析为IP地址的步骤:
- 客户机向NDS服务器发送域名查询请求
- DNS服务器告知客户机Web服务器的IP地址
- 客户机与Web服务器通信
域名空间结构
- 根域
- 顶级域 com cn
- 组织域
- 国家或地区域
- 二级域
- 主机 www
防范钓鱼网站:注意二级域名、三级域名
DNS查询过程
递归查询:要么做出查询成功响应,要么作出查询失败的响应,一般客户机与服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若NDS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机
迭代查询:服务器收到一次迭代查询回复一次结果,这个结果不一定是目标IP与域名的映射关系,也可以是其它DNS服务器的地址
1.7 网关
网关就是图中的路由器,也可以是一台服务器
- 发给同一网段的数据报,只需要经过交换机,不需要经过路由器
- 发给不同网段的数据报,要交给网关来进行
- 内网IP经过网关翻译成公网IP
第2章 Linux网络配置
2.1 Linux配置IP地址
- ifconfig命令临时配置IP地址
- setup工具永久配置IP地址(redhat)
- 修改网络配置文件 (通用)
- 图形界面配置IP地址(略)
2.2 查看/配置IP地址命令 ifconfig
ifconfig [网络设备] [参数]
- ifconfig工具不仅可以被用来简单地查看网络接口配置信息,还可以修改这些配置。
- 用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。
- -a 显示所有的网卡信息
- -s 显示简要的网卡信息(类似于 netstat -i)
- down 关闭指定的网络设备。
- up 启动指定的网络设备。
- netmask<子网掩码> 设置网络设备的子网掩。
- broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。
- add<地址> 设置网络设备IPv6的IP地址。
- del<地址> 删除网络设备IPv6的IP地址。
- hw<地址> 设置硬件地址。
- mtu<字节数> 设置网卡的最大传输单元 (bytes)
- [-]arp 设置指定网卡是否支持ARP协议。-表示不支持arp。
- [-]allmulti 设置是否支持多播模式,如果选择此参数,网卡将接收网络中所有的多播数据包。-表示不支持allmulti。
- [-]promisc 设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包。-表示不支持promisc。
显示网卡信息
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:20
inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)
- eth0 表示第一块网卡, 其中 HWaddr 表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址是 00:50:56:BF:26:20
- inet addr 用来表示网卡的IP地址,此网卡的 IP地址是 192.168.120.204,广播地址, Bcast:192.168.120.255,掩码地址 Mask:255.255.255.0
- lo 是表示主机的回环地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 HTTPD服务器的指定到回环地址,在浏览器输入 127.0.0.1 就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。
- 第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)
- 第二行:网卡的IP地址、子网、掩码
- 第三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节
- 第四、五行:接收、发送数据包情况统计
- 第七行:接收、发送数据字节数统计信息。
启动关闭指定网卡 up/down
[root@localhost ~]# ifconfig eth0 up
[root@localhost ~]# ifconfig eth0 down
临时设置eth0网卡的IP地址、子网掩码 netmask、广播地址 broadcast
[root@localhost ~]# ifconfig eth0 192.168.1.56
[root@localhost ~]# ifconfig eth0 192.168.1.56 netmask 255.255.255.0
[root@localhost ~]# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255
为网卡配置和删除IPv6地址 add/del
[root@localhost ~]# ifconfig eth0 add 33ffe:3240:800:1005::2/ 64
[root@localhost ~]# ifconfig eth0 del 33ffe:3240:800:1005::2/ 64
修改MAC地址 hw
[root@localhost ~]# ifconfig eth0 down //关闭网卡
[root@localhost ~]# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
[root@localhost ~]# ifconfig eth0 up //启动网卡
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:AA:BB:CC:DD:EE
inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)
[root@localhost ~]# ifconfig eth0 hw ether 00:50:56:BF:26:20 //关闭网卡并修改MAC地址
[root@localhost ~]# ifconfig eth0 up //启动网卡
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:20
inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)
设置能通过的最大数据包大小为 1500 bytes -mtu
[root@localhost ~]# ifconfig eth0 mtu 1500
启用和关闭ARP协议 [-]arp
[root@localhost ~]# ifconfig eth0 arp
[root@localhost ~]# ifconfig eth0 -arp
启用和关闭网卡的多播模式 [-]allmulti
[root@localhost ~]# ifconfig eth0 allmulti
[root@localhost ~]# ifconfig eth0 -allmulti
启用和关闭网卡的promiscuous模式 [-]promisc
[root@localhost ~]# ifconfig eth0 promisc
[root@localhost ~]# ifconfig eth0 -promisc
2.3 setup工具
红帽专有图形化工具setup设置IP地址
重启网络服务很重要 service network restart
[root@localhost ~]# setup
[root@localhost ~]# service network restart
CentOS7已经不再使用setup工具来修改网络配置,而是使用nmtui
2.4 修改网络配置文件
首先,修改网卡信息文件
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
其次,修改主机名文件
[root@localhost ~]# vi /etc/sysconfig/network
最后,修改DNS配置文件
[root@localhost ~]# vi /etc/resolv.conf
2.5 虚拟机网络配置流程
建议参考博客,我个人一般选择桥接方法。
- 使用setup命令修改并配置IP地址
- 修改网卡配置文件,并重启网络服务
- 如果是复制的虚拟机,修改UUID,重启动系统
- 设置虚拟机网络连接方式
- 桥接:虚拟机和真实机通信使用真实网卡通信(可以和局域网通信)
- NAT:虚拟机和真实机通信使用虚拟网卡VMnet8通信
- Host-only:虚拟机和真实机通信使用虚拟网卡VMnet1通信
- 若选择桥接方式,修改桥接网卡
第3章 Linux网络命令
网络环境查看命令ifconfig、ifdown、ifup、netstat、route、nslookup、host
3.1 查看/配置IP地址命令 ifconfig
- 可以看到IP地址,子网掩码,但看不到网关和DNS
- 具体代码细节见上一章
3.2 禁用网卡设备命令 ifdown
ifdown 网卡设备名
3.3 启用网卡设备命令 ifup
ifup 网卡设备名
3.4 显示网络状态命令 netstat
netstat 选项
- 用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况
- -a 显示所有的网络连接
- -t 显示TCP协议端口
- -u 显示UDP协议端口
- -n 直接使用IP地址,而不通过域名服务器
- -p 显示正在使用Socket的程序识别码和程序名称
- -l 仅显示在监听状态网络服务
- -i 显示网卡列表
- -r 显示路由列表,功能与route命令一致
- -g 显示多重广播功能群组组员名单
- -s 显示网络工作信息统计表
- -c 持续列出网络状态
显示当前UDP连接状况 -nu
[root@localhost ~]# netstat -nu
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
显示所有在监听的TCP、UDP和进程(常用组合)-lntup
[root@localhost ~]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:35013 0.0.0.0:* LISTEN 1302/rpc.statd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1284/rpcbind
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1518/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1389/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1602/master
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 1696/sshd
tcp 0 0 :::53350 :::* LISTEN 1302/rpc.statd
tcp 0 0 :::111 :::* LISTEN 1284/rpcbind
tcp 0 0 :::22 :::* LISTEN 1518/sshd
tcp 0 0 ::1:631 :::* LISTEN 1389/cupsd
tcp 0 0 ::1:25 :::* LISTEN 1602/master
tcp 0 0 ::1:6010 :::* LISTEN 1696/sshd
udp 0 0 0.0.0.0:611 0.0.0.0:* 1284/rpcbind
udp 0 0 0.0.0.0:5353 0.0.0.0:* 1378/avahi-daemon
udp 0 0 0.0.0.0:111 0.0.0.0:* 1284/rpcbind
udp 0 0 0.0.0.0:630 0.0.0.0:* 1302/rpc.statd
udp 0 0 0.0.0.0:631 0.0.0.0:* 1389/cupsd
udp 0 0 0.0.0.0:41265 0.0.0.0:* 1302/rpc.statd
udp 0 0 0.0.0.0:46003 0.0.0.0:* 1378/avahi-daemon
udp 0 0 :::33492 :::* 1302/rpc.statd
udp 0 0 :::611 :::* 1284/rpcbind
udp 0 0 :::111 :::* 1284/rpcbind
显示网卡列表 -i
[root@localhost ~]# netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 1843 0 0 0 136 0 0 0 BMRU
lo 16436 0 32 0 0 0 32 0 0 0 LRU
显示路由列表 -r
[root@localhost ~]# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
172.26.0.0 * 255.255.128.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 0 0 0 eth0
default 172.26.127.254 0.0.0.0 UG 0 0 0 eth0
显示组播组的关系 -g
[root@localhost ~]# netstat -g
IPv6/IPv4 Group Memberships
Interface RefCnt Group
--------------- ------ ---------------------
lo 1 all-systems.mcast.net
eth0 1 224.0.0.251
eth0 1 all-systems.mcast.net
lo 1 ff02::1
eth0 1 ff02::202
eth0 2 ff02::1:ffb7:b033
eth0 1 ff02::1
显示网络统计信息 -s
[root@localhost ~]# netstat -s
Ip:
323 total packets received
0 forwarded
0 incoming packets discarded
231 incoming packets delivered
213 requests sent out
Icmp:
1 ICMP messages received
0 input ICMP message failed.
ICMP input histogram:
destination unreachable: 1
3 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 3
IcmpMsg:
InType3: 1
OutType3: 3
Tcp:
3 active connections openings
4 passive connection openings
0 failed connection attempts
0 connection resets received
1 connections established
217 segments received
184 segments send out
0 segments retransmited
0 bad segments received.
0 resets sent
Udp:
11 packets received
2 packets to unknown port received.
0 packet receive errors
24 packets sent
UdpLite:
TcpExt:
3 TCP sockets finished time wait in fast timer
1 delayed acks sent
Quick ack mode was activated 39 times
1 packets directly queued to recvmsg prequeue.
1 packets directly received from prequeue
27 packets header predicted
85 acknowledgments not containing data received
5 predicted acknowledgments
0 TCP data loss events
39 DSACKs sent for old packets
IpExt:
InMcastPkts: 20
OutMcastPkts: 14
InBcastPkts: 71
InOctets: 46326
OutOctets: 36831
InMcastOctets: 3924
OutMcastOctets: 2967
InBcastOctets: 21627
3.5 路由表显示/设置命令 route
route 选项
- route命令用来显示并设置Linux内核中的网络路由表,route命令设置的路由主要是静态路由。
- 直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。
- -n 不执行DNS反向查找,直接显示数字形式的IP地址
- add 增加指定的路由记录
- del 删除指定的路由记录
- gw 设置默认网关
查看路由列表(可以看到网关) -n
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.26.0.0 0.0.0.0 255.255.128.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 172.26.127.254 0.0.0.0 UG 0 0 0 eth0
Flags为路由标志,标记当前网络节点的状态
- U Up表示此路由当前为启动状态。
- H Host,表示此网关为一主机。
- G Gateway,表示此网关为一路由器。
- R Reinstate Route,使用动态路由重新初始化的路由。
- D Dynamically,此路由是动态性地写入。
- M Modified,此路由是由路由守护程序或导向器动态修改。
- ! 表示此路由当前为关闭状态。
临时添加和删除默认网关 add/del
[root@localhost ~]# route add default gw 192.168.120.240
[root@localhost ~]# route del default gw 192.168.120.240
3.6 DNS查询工具 nslookup
nslookup [主机名或IP]
- 进行域名与IP地址解析,查看DNS
[root@localhost ~]# nslookup www.baidu.com
Server: 10.8.4.4
Address: 10.8.4.4#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 183.232.231.174
Name: www.a.shifen.com
Address: 183.232.231.172
3.7 DNS查询工具 host
host [选项] IP地址或域名
- 可以检测域名系统工作是否正常
- 类似的命令除了nslookup和host之外,还有dig
-a:显示详细的DNS信息
[root@localhost ~]# host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 183.232.231.174
www.a.shifen.com has address 183.232.231.172
[root@localhost ~]# host -a www.baidu.com
Trying "www.baidu.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13189
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.baidu.com. IN ANY
;; ANSWER SECTION:
www.baidu.com. 298 IN CNAME www.a.shifen.com.
Received 58 bytes from 10.8.4.4#53 in 3 ms
网络测试命令ping、telnet、traceroute、mtr、wget、tcpdump
3.8 检测主机命令 ping
ping [选项] ip或域名
- ping 命令是用来测试TCP/IP 网络是否畅通或者测试网络连接速度的命令,对确定网络是否正确连接,以及网络连接的状况十分有用。
- 简单的说,ping就是一个测试程序,如果ping运行正确,大体上就可以排除网络访问层、网卡、Modem的输入输出线路、电缆和路由器等存在的故障,从而缩小问题的范围。
- 执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
- -c<次数> 设置完成要求回应的次数
- -i<间隔秒数> 指定收发信息的间隔时间
- -s<数据包大小> 设置数据包的大小
- -t<存活数值> 设置存活数值TTL的大小
ping 百度首页,指定次数为5,间隔时间为3s,数据包大小为1024,存活时间为255
[root@localhost ~]# ping -c 5 -i 3 -s 1024 -t 255 www.baidu.com
PING www.a.shifen.com (183.232.231.174) 1024(1052) bytes of data.
1032 bytes from 183.232.231.174: icmp_seq=1 ttl=53 time=10.1 ms
1032 bytes from 183.232.231.174: icmp_seq=2 ttl=53 time=10.0 ms
1032 bytes from 183.232.231.174: icmp_seq=3 ttl=53 time=10.4 ms
1032 bytes from 183.232.231.174: icmp_seq=4 ttl=53 time=10.1 ms
1032 bytes from 183.232.231.174: icmp_seq=5 ttl=53 time=10.9 ms
--- www.a.shifen.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 12036ms
rtt min/avg/max/mdev = 10.092/10.349/10.939/0.329 ms
3.9 远程管理与端口探测命令 telnet
telnet [域名或IP] [端口]
- telnet因为采用明文传送报文,安全性不好,许多Linux服务器都不开放telnet服务,而改用更安全的ssh方式
- 因此现在telenet命令不用于远程登录,多用于检测远程端口是否打开
探查百度的80端口是否开启
[root@localhost ~]# telnet www.baidu.com 80
3.10 路由跟踪命令 traceroute
traceroute [选项] IP或域名
- 用于显示数据包到主机间的路径,它默认发送的数据包大小是40字节
- -n:使用IP,不使用域名,速度更快
对百度首页进行路由追踪,但有些IP被屏蔽了
[root@localhost ~]# traceroute -n www.baidu.com
traceroute to www.baidu.com (183.232.231.172), 30 hops max, 60 byte packets
1 172.26.127.254 4.078 ms 3.569 ms 3.469 ms
2 10.44.37.201 3.363 ms 4.395 ms 4.609 ms
3 10.44.16.201 4.181 ms 4.144 ms 4.030 ms
4 10.10.1.42 4.105 ms 3.983 ms 3.884 ms
5 120.236.174.129 4.899 ms 4.801 ms 4.710 ms
6 120.197.11.5 4.436 ms 5.013 ms 4.879 ms
7 183.233.54.77 6.560 ms 7.534 ms 183.233.54.73 11.528 ms
8 211.136.207.185 7.259 ms 211.136.207.201 6.856 ms 211.136.210.197 6.496 ms
9 120.196.199.130 7.951 ms 120.196.198.198 9.780 ms 120.196.199.106 9.543 ms
10 120.241.49.198 9.951 ms 120.241.49.226 9.316 ms 120.241.49.218 9.716 ms
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
3.11 路由分析命令 mtr
mtr [选项] IP地址或域名
- ping的话可以来判断丢包率,tracert可以用来跟踪路由
- mtr命令把ping命令和tracepath命令合成了一个。mtr会持续发包,并显示每一跳ping所用的时间。
3.12 下载命令 wget
wget [选项] 链接
- 可以将整个首页下载下来
- 类似的命令还有links
- -r 会按照递归的方式,下载服务器上所有的目录和文件
- -c 断点续传
3.13 抓包工具 tcpdump
tcpdump [选项]
- 类似的抓包工具还有wireshark
- -c<数据包数目> 收到指定的数据包数目后,就停止进行倾倒操作
- -q 快速输出,仅列出少数的传输协议信息
- -i:指定网卡接口
- -nn:将数据包中的域名与服务转为IP和端口
- -X:以十六进制和ASCII码显示数据包内容
- port:指定监听的端口
指定数量 -c
[root@localhost ~]# tcpdump -c 20
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
18:33:47.236378 IP 172.26.10.123.ssh > 172.26.73.115.wins: Flags [P.], seq 3581205270:3581205466, ack 3567864398, win 365, length 196
18:33:47.236829 IP 172.26.10.123.38612 > 10.8.4.4.domain: 27853+ PTR? 115.73.26.172.in-addr.arpa. (44)
18:33:47.246565 IP 10.8.4.4.domain > 172.26.10.123.38612: 27853 NXDomain* 0/1/0 (103)
18:33:47.246824 IP 172.26.10.123.56159 > 10.8.4.4.domain: 20455+ PTR? 123.10.26.172.in-addr.arpa. (44)
18:33:47.251314 IP 10.8.4.4.domain > 172.26.10.123.56159: 20455 NXDomain* 0/1/0 (103)
18:33:47.251507 IP 172.26.10.123.39087 > 10.8.4.4.domain: 1878+ PTR? 4.4.8.10.in-addr.arpa. (39)
18:33:47.252381 IP 172.26.10.123.ssh > 172.26.73.115.wins: Flags [P.], seq 196:376, ack 1, win 365, length 180
18:33:47.252533 IP 172.26.73.115.wins > 172.26.10.123.ssh: Flags [.], ack 376, win 16154, length 0
18:33:47.254238 IP 10.8.4.4.domain > 172.26.10.123.39087: 1878 NXDomain* 0/1/0 (98)
18:33:47.255371 IP 172.26.10.123.ssh > 172.26.73.115.wins: Flags [P.], seq 376:1196, ack 1, win 365, length 820
18:33:47.257931 IP 172.26.10.123.ssh > 172.26.73.115.wins: Flags [P.], seq 1196:1360, ack 1, win 365, length 164
18:33:47.259008 IP 172.26.73.115.wins > 172.26.10.123.ssh: Flags [.], ack 1360, win 16425, length 0
18:33:47.260499 IP 172.26.10.123.ssh > 172.26.73.115.wins: Flags [P.], seq 1360:1620, ack 1, win 365, length 260
18:33:47.261427 IP 172.26.10.123.ssh > 172.26.73.115.wins: Flags [P.], seq 1620:1784, ack 1, win 365, length 164
18:33:47.261564 IP 172.26.73.115.wins > 172.26.10.123.ssh: Flags [.], ack 1784, win 16319, length 0
18:33:47.261668 IP 172.26.10.123.ssh > 172.26.73.115.wins: Flags [P.], seq 1784:2044, ack 1, win 365, length 260
18:33:47.262398 IP 172.26.10.123.ssh > 172.26.73.115.wins: Flags [P.], seq 2044:2208, ack 1, win 365, length 164
18:33:47.262694 IP 172.26.73.115.wins > 172.26.10.123.ssh: Flags [.], ack 2208, win 16213, length 0
18:33:47.263063 IP 172.26.10.123.ssh > 172.26.73.115.wins: Flags [P.], seq 2208:2468, ack 1, win 365, length 260
18:33:47.263299 IP 172.26.10.123.ssh > 172.26.73.115.wins: Flags [P.], seq 2468:2632, ack 1, win 365, length 164
20 packets captured
21 packets received by filter
0 packets dropped by kernel
精简模式 -q
[root@localhost ~]# tcpdump -c 10 -q
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
18:35:08.819178 IP 172.26.10.123.ssh > 172.26.73.115.wins: tcp 196
18:35:08.820118 IP 172.26.10.123.50655 > 10.8.4.4.domain: UDP, length 44
18:35:08.831053 IP 10.8.4.4.domain > 172.26.10.123.50655: UDP, length 103
18:35:08.831258 IP 172.26.10.123.49155 > 10.8.4.4.domain: UDP, length 44
18:35:08.833871 IP 10.8.4.4.domain > 172.26.10.123.49155: UDP, length 103
18:35:08.834031 IP 172.26.10.123.46000 > 10.8.4.4.domain: UDP, length 39
18:35:08.835692 IP 172.26.10.123.ssh > 172.26.73.115.wins: tcp 116
18:35:08.835848 IP 172.26.73.115.wins > 172.26.10.123.ssh: tcp 0
18:35:08.836876 IP 10.8.4.4.domain > 172.26.10.123.46000: UDP, length 98
18:35:08.838221 IP 172.26.73.115.wins > 172.26.10.123.ssh: tcp 0
10 packets captured
13 packets received by filter
0 packets dropped by kernel
指定监听网卡eth0的21端口,并以16进制输出
[root@localhost ~]# tcpdump -i eth0 -nnX port 21
其他一些网络命令arp、dhclient、iwlist、iwconfig、ethtool、ip
3.14 管理系统ARP缓冲区命令 arp
arp [选项]
- 可以显示arp缓冲区的所有条目、删除指定条目或增加静态IP地址与MAC地址的对应关系
- -a 显示arp缓冲区的所有条目
- -v 显示详细的arp缓冲区条目,包括缓冲区条目的统计信息
[root@localhost ~]# arp -a
? (172.26.73.115) at dc:85:de:f8:a5:05 [ether] on eth0
[root@localhost ~]# arp -v
Address HWtype HWaddress Flags Mask Iface
172.26.73.115 ether dc:85:de:f8:a5:05 C eth0
172.26.127.254 ether 00:74:9c:9f:46:87 C eth0
Entries: 2 Skipped: 0 Found: 2
3.15 DHCP客户端命令 dhclient
dhclinet 网卡设备
以dhcp模式启用eth0
[root@localhost ~]# dhclient eth0
3.16 无线网络相关命令 iwconfig、iwlist
iwconfig和ifconfig很相似。但是iwconfig仅仅和无线网络相关。用来设置参数等。
3.17 网络管理工具 ethtool
ethtool 提供了强大的网卡及网卡驱动管理能力,其具体的实现框架和网络驱动程序及网络硬件关系紧密,容易修改和扩展,能够为 Linux 网络开发人员和管理人员提供对网卡硬件,驱动程序和网络协议栈的设置,查看以及及调试等功能。
3.18 网络配置工具 ip
ip是iproute2软件包里面的一个强大的网络配置工具,用来显示或操作路由、网络设备、策略路由和隧道,它能够替代一些传统的网络管理工具,例如ifconfig、route等。用ip配置的设备信息,大部分会在设备重启后还原,如果想永久保留配置,请尽量进入配置文件修改。
第4章 远程登录工具
对称加密算法:加密和解密用同一个密码
非对称加密算法;公钥、私钥
SSH安全外壳协议在非对称加密算法的基础上设计而来。
4.1 远程管理命令 ssh
ssh 用户名@ip
- 远程管理指定Linux服务器
ssh 192.168.1.100 # 默认利用当前宿主用户的用户名登录
ssh [email protected] # 利用远程机的用户登录
ssh [email protected] -o stricthostkeychecking=no # 首次登陆免输yes登录
ssh [email protected] "ls /home/omd" # 当前服务器A远程登录服务器B后执行某个命令
ssh [email protected] -t "sh /home/omd/ftl.sh" # 当前服务器A远程登录服务器B后执行某个脚本
scp [-r] 用户名@ip:文件路径 本地路径
- 下载文件
scp [-r] 本地文件 用户名@ip:上传路径
- 上传文件
4.2 远程管理工具
- XShell 推荐
- SecureCRT 收费
- WinSCP Windows和Liux之间文件传输