Linux网络管理整理笔记

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
Linux网络管理整理笔记_第1张图片

最后,修改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之间文件传输

你可能感兴趣的:(Linux网络管理整理笔记)