【学神】1-16 网络管理相关命令

本节所讲内容:

OSI七层模型和TCP/IP四层模型

IP地址分类

了解常见的网络相关协议

TCP三次握手和四次挥手

网络相关的调试命令

实战tcpdump和tshark抓包

 

一、OSI七层模型和TCP/IP四层模型

OSI 七层模型                                         TCP/IP 四层模型

应用层                                               应用层:如:http协议  FTP协议

表示层  ASCII

会话层

传输层  防火墙                                   传输层  tcp udp

网络层  三层交换机和路由器                  网络层  路由器

数据链路 二层交换机和网卡                      链路接口层

物理层   集线器

 

 

二、IP地址分类

简单的说,IP地址分5类,常见的地址是A、B、C类

IP地址由4组8位2进制数组成,为了方便记忆转换成十进制数,如:192.168.1.2

分为网络号(网段号)与主机号组成。

子网掩码:用于区分网段号与主机号,标准子网掩码网段号用全1表示(即255),主机号用全0表示(即0),可用于划分子网。

A类地址:第一位为网络号,后三位为主机号,网段号的取值范围从0-127,0是保留的并且表示所有IP地址(例:0.0.0.0),而127也是保留的地址,并且是用于测试环回口用的。因此A类地址的可用的范围其实是从1-126之间。

其标准子网掩码为:255.0.0.0

B类地址:前2位为网络号,后2位为主机号,网段号第一位的取值范围从128-191,如172.168.1.1,其标准子网掩码为:255.255.0.0

C类地址:前3位为网络号,后1位为主机号,网段号第一位的取值范围从192-223,如: 192.168.1.254,其标准子网掩码为: 255.255.255.0

D类地址:范围从224-239,被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。

例:

 

 

私有IP

A:10.0.0.0/8

B:  172.16.0.0 ~ 172.31.0.0/16

C:  192.168.0.0 ~ 192.168.255.0/24    255.255.255.0

 

【例】 ping 127网段的ip

[[email protected] ~]# ping 127.23.23.23
PING 127.23.23.23 (127.23.23.23) 56(84) bytes of data.
64 bytes from 127.23.23.23: icmp_seq=1 ttl=64 time=0.360 ms

回环口一直是可用up状态:

结论:这个127这个网段都用于环回口

 

三、TCP/IP协议

TCP/IP协议是一个协议簇。里面包括很多协议的。

主要有以下协议

超文本传输协议(HTTP):万维网的基本协议.

文件传输(TFTP简单文件传输协议):

远程登录(Telnet)

网络管理(SNMP简单网络管理协议)

TCP Transmission Control Protocol,传输控制协议)是面向连接的协议,

UDP UDP(User Data Protocol,用户数据报协议)非连接的协议

Internet协议(IP)

Internet控制信息协议(ICMP)

地址解析协议(ARP)

反向地址解析协议(RARP)

TCP和UDP区别

1.基于连接与无连接;
2.对系统资源的要求(TCP较多,UDP少);
3.UDP程序结构较简单;
4.tcp流模式与udp数据报模式 ;
5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证

 

四、TCP三次握手和四次挥手

1 tcp: 三次握手

作用:建立连接

1.1  tcp三次握手的链接状态

C(client)                              S(server)

TCP连接状态       建立过程              TCP连接状态

LISTEN

SYN_SENT      ---syn seq=a -->        SYN_RCVD

ESTABLISHED   <--syn seq=b ack=a+1

--ack=b+1-->           ESTABLISHED  #(单词意思为:公认;含意为:连接成功)

2 TCP四次挥手

作用:关闭连接

四次挥手状态

关闭连接:四次挥手

C(client)                              S(server)

TCP连接状态       建立过程                  TCP连接状态

FIN_WAIT       --fin seq=a-->            CLOSE_WAIT

FIN_WAIT2      <--ack a+1--

TIME_WAIT      <--fin b--                 LAST_ACK

--ack b+1-->             CLOSE

 

扩展:  网络接口类型表示方法

以太网(ethernet)  ethN

回环口              lo

光纤网             fddiN

桥设备:            br0

Linux ADSL宽带接口:ppp              pppN  如:ppp0

tun0   tun1

五、网络相关的调试命令

1查看网卡硬件相关信息

1.1 查看网卡物理连接是否正常

[[email protected] ~]# mii-tool eth0
eth0: negotiated 100baseTx-FD, link ok

1.2 ethtool 是用于查询及设置网卡参数的命令

#ethtool eth0  
Settings for eth0:
       Supported ports: [ TP ]
       Supported link modes:   10baseT/Half 10baseT/Full 
                               100baseT/Half 100baseT/Full 
                               1000baseT/Full 
       Supports auto-negotiation: Yes
       Advertised link modes:  10
baseT/Half 10baseT/Full 
                               100baseT/Half 100baseT/Full 
                               1000baseT/Full 
       Advertised pause frame use: No
       Advertised auto-negotiation: Yes  #播发自动协商:是
       Speed: 1000Mb/s   #当前是1000M
       Duplex: Full     #全双工
       Port: Twisted Pair
       PHYAD: 0
       Transceiver: internal
       Auto-negotiation: on
       MDI-X: Unknown
       Supports Wake-on: d
       Wake-on: d
       Current message level: 0x00000007 (7)
       Link detected: yes

 

 

2 配置网络和IP地址

方法一:

#setup   (TUI,方式,文本用户界面(Text User Interface)  配置IP地址

说明:在RHEL6中增加了一个新的网络服务:

[[email protected] ~]# /etc/init.d/NetworkManager stop   #但是这个服务在后期使用中有一些问题,另外,在字符界面下也不需要使用这个服务。
Stopping NetworkManager daemon:                            [FAILED]
[[email protected] ~]# chkconfig NetworkManager off
[[email protected] ~]# service network restart

查看IP相关信息

#ifconfig   #查看所有激活状态的网卡信息

#ifconfig eth0  #只查看eth0

-a所有网卡,包括没有启动的网卡信息。

#ifconfig eth0 down/up

#ifdown eth0

#ifup eth0

#ifconfig eth0:1  192.168.1.3 netmask 255.255.255.0   #临时有效。 重启network服务

方法二:

修改网卡配置文件:

#vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0  #物理设备的名字,内核通过这上名字来确认是哪个网卡
BOOTPROTO=static 或dhcp 或none无(不指定),如是none,配上IP地址和static效果一样
IPADDR=192.168.18.254
NETMASK=255.255.255.0
ONBOOT=YES   开机启动网卡
TYPE=Ethernet    #类型为:以太网
注:
BOOTPROTO=static   静态IP
BOOTPROTO=dhcp   动态IP
BOOTPROTO=none   无(不指定)

【例】 给新添加的网卡添加IP地址和对应的配置文件。

[[email protected] ~]# setup   #通过setup命令可以快速生成一个网卡的配置文件

[[email protected] ~]# service network restart

3 修改主机名配置文件

作用:设置主机名永久生效

其他相关配置文件:

#vim /etc/sysconfig/network

NETWORKING=yes   开机时激活网络,开启network服务

注:如果NETWORKING=no,即使network设置为开机启动,那也启不来。

HOSTNAME=localhost.localdomain

4配置IP与主机名(域名)的对应

[[email protected] ~]# cat /etc/hosts   #优先级高于DNS解析
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.63   xuegod63.cn
192.168.1.64   xuegod64.cn

5 DNS配置的配置文件

#vim /etc/resolv.conf

RHEL5,用这个文件。在RHEL6中直接在网卡配置文件中指定:DNS1=192.168.1.1

默认情况下,域名解析顺序: 本地hosts文件-》DNS查询

互动:是不是一定先解析hosts再解析DNS?

本机域名解析顺序

#vim /etc/nsswitch.conf    #查找以下内容
#hosts:     db files nisplus nis dns
hosts:      files dns

6 端口号和服务对应的配置文件

#vim /etc/services    #此文件可以查看常用端口对应的名字。iptables或netstat要把端口解析成协议名时,都需要使用到这个文件。另外后期xinetd服务管理一些小服务时,也会使用到此文件来查询对应的小服务端口号。

7 查看路由信息: 查看默认网关

[[email protected] ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.3.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

说明:

route命令输出的路由表字段含义如下
    Destination 目标
          The destination network or destination host. 目标网络或目标主机。

Gateway 网关
          The gateway address or ‘*‘ if none set. 网关地址,如果没有就显示星号或4个0。

Genmask 网络掩码
          The  netmask  for  the  destination net; ‘255.255.255.255‘ for a
          host destination and ‘0.0.0.0‘ for the default route.

添加/删除路由条目:

增加 (add) 与删除 (del) 路由的相关参数:
  -net    :表示后面接的路由为一个网域;
  -host  :表示后面接的为连接到单部主机的路由;
  netmask :与网域有关,可以设定 netmask 决定网域的大小;
   dev    :如果只是要指定由那一块网路卡连线出去,则使用这个设定,后面接 eth0 等

【例】
添加路由(把Linux做成路由器时或服务器有多个网卡,指定到不同网段走哪个网卡)

[[email protected] ~]# route add -net 192.168.2.0 netmask 255.255.255.0 dev eth1

添加默认网关

[[email protected] ~]# route add default gw IP

删除路由

[[email protected] ~]# route del -net 192.168.2.0 netmask 255.255.255.0

查看路由信息

[[email protected] ~]# route 或 route -n (-n 表示不解析名字,列出速度会比route 快)

8 查看网络连接状态

[[email protected] ~]# netstat -antup

-a, --all

-n, --numeric              don‘t resolve names

-p, --programs

-t  显示tcp连接

-u  显示udp连接

9 ping命令的一般格式为

-c 数目 在发送指定数目的包后停止。

-i 秒数 设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。

[[email protected] ~]# ping -i 0.01 192.168.1.1

指定从哪个端口出去。

ping -I eth0 192.168.1.1

使用参数大写的I

10 iptraf

查看网络流量:

[[email protected] ~]# rpm -ivh /mnt/Packages/iptraf-3.0.1-13.el6.x86_64.rpm
[[email protected] ~]# iptraf

arping: 查看IP地址是否有冲突

例:

arping  192.168.1.1

[[email protected] ~]# arping 192.168.1.1
ARPING 192.168.1.1 from 192.168.1.63 eth0
Unicast reply from 192.168.1.1 [50:BD:5F:24:78:72]  8.376ms
Unicast reply from 192.168.1.1 [C0:61:18:63:BC:D6]  8.457ms
Unicast reply from 192.168.1.1 [D0:C7:C0:0C:B2:24]  8.476ms
Unicast reply from 192.168.1.1 [34:BD:F9:84:50:D0]  8.499ms
Unicast reply from 192.168.1.1 [34:BD:F9:84:50:D0]  4.634ms

11.ARP 管理命令

示例1:查看ARP缓存

 

 [[email protected] ~]# arp

示例2: 添加

 

 [[email protected] ~]# arp –s IP MAC

  

示例3: 删除

 

 [[email protected] ~]# arp –d IP

12.ip

ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具。例如:ifconfig、route等,

ip命令的语法

  ip命令的用法如下:

  ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]]

ip link set——改变设备的属性。 缩写:set、s

  示例1:up/down 起动/关闭设备。

  [[email protected] ~]# ip link set dev eth0 up
 

这个等于传统的 # ifconfig eth0 up(down)

  

示例2:改变设备传输队列的长度。

  参数:txqueuelen NUMBER或者txqlen NUMBER

 

 [[email protected] ~]# ip link set dev eth0 txqueuelen 100

  

示例3:改变网络设备MTU(最大传输单元)的值。

  

[[email protected] ~]# ip link set dev eth0 mtu 1500

  

示例4: 修改网络设备的MAC地址。

  参数: address LLADDRESS

  

[[email protected] ~]# ip link set dev eth0 address 00:01:4f:00:15:f1

ip link show——显示设备属性。 缩写:show、list、lst、sh、ls、l

  -s选项出现两次或者更多次,ip会输出更为详细的错误信息统计。

示例:

  

[[email protected] ~]# ip -s -s link ls eth0
  eth0: mtu 1500 qdisc cbq qlen 100
  link/ether 00:a0:cc:66:18:78 brd ff:ff:ff:ff:ff:ff
  RX: bytes packets errors dropped overrun mcast
  2449949362 2786187 0 0 0 0
  RX errors: length crc fifo missed
  0 0 0 0 0
  TX: bytes packets errors dropped carrier collsns
  178558497 1783946 332 0 332 35172
  TX errors: aborted fifo window heartbeat
  0 0 0 332

这个命令等于传统的 ifconfig eth0

六、实战tcpdump和tshark抓包

1 tcpdump命令

1.1指定接口(-i)

如:tcpdump -i eth0

三次握手过程分析

在主机A上开启SSHD服务,此时不要有任何客户端主机来连接主机A的SSHD服务。这样是为了抓包更清楚。

主机A执行:

tcpdump port 22 -c 3 -n  -S

# port  端口号

-c  抓几个包

-n  不解析端口号为协议名

-S     Print absolute, rather than relative,  TCP  sequence numbers.

主机B执行:

yum install telnet -y   #安装telnet

telnet 192.168.1.63 22    #连接主机A的22端口

1.2 分析数据包

[[email protected] ~]# tcpdump port 22 -c 3 -n -S 
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
22:41:08.630144 IP 192.168.1.64.53619 > 192.168.1.63.ssh:Flags [S], seq 1186556275, win 14600, options [mss 1460,sackOK,TS val 4294894444 ecr 0,nop,wscale 7], length 0
22:41:08.630270 IP192.168.1.63.ssh > 192.168.1.64.53619: Flags [S.], seq 1584691203,ack 1186556276,win 14480, options [mss 1460,sackOK,TS val 3611906 ecr 4294894444,nop,wscale 7], length 0
22:41:08.631121 IP 192.168.1.64.53619 > 192.168.1.63.ssh: Flags [.], ack 1584691204, win 115, options [nop,nop,TS val 4294894449 ecr 3611906], length 0
3 packets captured
7 packets received by filter
0 packets dropped by kernel

2 抓包命令

[[email protected] Packages]# yum install wireshark -y   
[[email protected] ~]# tshark -w filename -i eth0

-w 将抓包的数据写入文件filename中。
-i 指定要抓包的接口名称

[[email protected] ~]# tshark -r filename

-r 指定要读取的包文件
-V 将包尽可能的解析(这个有时在包数量很多的情况下可以不使用,这样它会给出一个很简洁的报文解释

学神-IT-教育51cto技术交流群:468845589  快来上我们公开课吧!

学神MK老师:1273815479

学神ZY老师:3054384936

学神IT-vip1508-公瑾提供

时间: 2024-10-06 00:43:24

【学神】1-16 网络管理相关命令的相关文章

Linux网络管理相关命令

•     OSI七层模型和TCP/IP四层模型•     IP地址分类•     了解常见的网络相关协议•     TCP三次握手和四次挥手•     网络相关的调试命令•     实战tcpdump和tshark抓包 OSI 七层模型物理层    网络:中继器,集线器.网线.HUB数据链路层    网络:网卡,网桥,交换机网络层    网络:路由器,防火墙.多层交换机传输层    计算机:进程和端口会话层    计算机:建立会话,SESSION认证.断点续传表示层    计算机:编码方式,图

CentOS7 网络管理相关命令

contos7 网卡配置文件自动识别ifcfg开头的文件(包括目录) CentOS7网卡命名规则: CentOS 7 开始对于网卡的编号则有另一套规则, 网卡的界面代号现在与网卡的来源有关,基本上的网卡名称会是这样分类的:eno1 : 代表由主板 BIOS 内置的网卡ens1 : 代表由主板 BIOS 内置的 PCI-E 界面的网卡enp2s0 : 代表 PCI-E 界面的独立网卡, 可能有多个插孔, 因此会有 s0, s1... 的编号eth0 : 如果上述的名称都不适用, 就回到原本的默认网

Linux之网络管理(6)ip及路由相关命令

Linux之网络管理(6)ip及路由相关命令 linux中提供了很多强大的网络管理工具,而且每更新一些版本后都会有新功能.新工具的出现,对于ip和route设置最常用的,就是ifconfig.route等命令了. IP及设备相关的命令使用: ifconfig 命令 查看接口设备信息 ifconfig                 #查看所有启用(up状态)的接口信息 ifconfig  ifcfg-x        #查看指定的网络接口信息 ifconfig  -a             #

网络相关命令

Linux网络常用命令 在Linux系统管理中网络管理肯定是经常打交道的,为了加深印象这里写几个常用的命令和介绍.ifconfig. route. ip.  netstat.   ss.  nmcli和编辑网卡配置文件. ifconfig : ifconfig 接口 [aftype] options | address ... 常用参数: up 启动指定网络设备/网卡. down 关闭指定网络设备/网卡.arp 设置指定网卡是否支持ARP协议. -a 显示全部接口信息 -s 显示摘要信息 del

Linux下的网络管理相关知识

Linux下的网络管理相关知识 linux下的网络管理工具,大致分成了三个系列,最古老的ifcfg系列.iproute2系列以及nm系列.我们会就三个命令进行分析和讲解,接着会讲一下更改IP地址和主机名等永久有效的方法. 一.ifcfg家族系列工具 ifconfig: 配置IP和掩码route: 配置路由netstat: 网络状态和统计数据的查看 1. ifconfig:用于查看和配置IP地址,立即生效,但不是永久有效. 使用方法: ifconfig [接口]ifconfig 接口 [aftyp

MBR与GPT分区的区别及磁盘分区相关命令

一.MBR分区结构 主引导记录(Master Boot Record,缩写:MBR),又叫做主引导扇区,是目前比较流行的一种分区结构.磁盘的0磁道0扇区称为MBR,它的大小是512字节,这个区域被分为三个部分: 第一部分为boot loader(主引导程序),占446字节: 第二部分为Partition table(分区表),即DPT,占64字节,每个分区项占用16个字节,这16个字节中存有活动状态标志.文件系统标识.起止柱面号.磁头号.扇区号.隐含扇区数目(4个字节).分区总扇区数目(4个字节

ubuntu 主机配置相关命令

使用ubuntu系统这么久了,但还主要是停留在简单的使用上,好多关于系统设置方面的命令平时用的少,看书的时候一晃而过,也就忘记了,到用的时候又要去找,很麻烦,今天开始就在这记录平时遇到问题需要解决时查找的一些命令,也方便以后的回忆和查阅. ubuntu下查看电脑的配置: lshw -short H/W path       Device  Class          Description=================================================    

[Redis]Redis的五种数据类型与键值/服务器相关命令

-------------------------------------------------------------------------------------- String(字符串):最简单的数据类型. set age 18 ( set age 18 ex 5 ) # 设置过期时间5秒 setex age 5 18   # 效果同上, 使用 ttl age 可以查看剩余有效时间 psetex age 5000 18  # 同上,只是以毫秒为单位设置key的过期时间 ( set ag

ceph集群快照、clone相关命令整理v1

简介:快照 快照是一个镜像在某一个特定时间点的只读拷贝.其中Ceph块设备的高级功能是能够创建快照保留镜像的历史状态.Ceph支持快照分层,允许快速克隆镜像. Ceph还支持使用RDB和如KVM,libvirt等创建快照.当做快照时需要停止I/O.如果镜像包含文件系统,文件系统必须在做快照前保持一致性. 本文档主要从以下几个方面进行测试: 1:快照.创建.查询.删除.清理: 2:快照clone.增量快照.保护快照: 3:image导入.导出: 4:利用ceph存储快照功能,做数据备份.数据恢复: