运维SRE-08 网络基础与进阶

news/发布时间2024/5/15 2:03:24

今日内容

- **定时备份案例进阶.**
- **定时巡检(检查系统基础指标),写入到文件中.**
- 网络(抽象) 
掌握与吸收时间: 直到课程结束.(第2阶段结束)
- 网络基础: 网络概述,网络结构,网络设备.
- 网络核心: OSI7层模型       ※※※※※※TCP/IP 3次握手   ※※※※※※TCP/IP 4次挥手   ※※※※※※
- 网络其他内容:    IP地址划分子网掩码网关/路由       ※※※
- 网络相关命令:       ※※※

备份进阶案例

- - 定时备份/etc/目录到/backup以ip地址命名的目录中- /backup/10.0.0.200/etc-2022-11-11.tar.gz- 定时系统巡检(定时输出系统基本信息) 写入到/tmp/sys.log中.- ip地址信息(ip地址)   - 主机名信息(主机名)- 负载信息(0 0 0)- 内存信息(内存多大,用了多少,剩余多少)- cpu信息(核心数)- 磁盘信息(磁盘使用多少,剩余多少)- 进程信息(一共多少进程,几个运行,几个挂起,几个僵尸)
- 基础要求: 直接写出对应的命令
- 进阶要求: 精确取出索要的内容.

a)

[root@hb-sre-001 scrips]# cat 03.bak-adv-v1.sh 
#author:	hb
#desc:	backup etc dir
#version:	v1.0#定义变量
方法1:
ip=`hostname -I |awk '{print $1}'`
方法2:
ip=`awk -F '=' '/IPADDR=/ {print $2}' /etc/sysconfig/network-scripts/ifcfg-ens33`
time=`date +%F`#引用变量
mkdir -p /backup/$ip
tar -cvzf /backup/$ip/etc_$time.tar.gz /etc

b)基础写法

#author: hb
#desc: get sys basic infoecho "ip地址信息(ip地址)   "
hostname -I
echo  "主机名信息(主机名)"
hostname
echo "负载信息(0 0 0)"
uptime |sed 's#^.*users,##g'
echo "内存信息(内存多大,用了多少,剩余多少)"
free -h |awk 'NR<=2'
echo "cpu信息(核心数)"
lscpu |awk 'NR==4'
echo "磁盘信息(磁盘使用多少,剩余多少)"
df -h
echo "进程信息(一共多少进程,几个运行,几个挂起,几个僵尸)"
top -bn1 |awk 'NR==2'

C)进阶写法

#author: hb
#desc: get sys basic info
. /etc/profile
#定义变量
ip=`hostname -I`
hostname=`hostname`
load=`uptime |sed 's#^.*users,##g'`
mem_total=`free -h |awk 'NR==2{print $2}'`
mem_used=`free -h |awk 'NR==2{print $3}'`
mem_ava=` free -h |awk 'NR==2{print $NF}'`
cpus=`lscpu |awk 'NR==4{print $2}'`
root_used=` df -h|awk '$NF=="/" {print $(NF-1)}'`
process=`top -bn1 |awk 'NR==2'`
#使用变量(输出变量内容)
echo "ip地址信息: $ip "
echo "主机名信息: $hostname"
echo "负载信息: $load"
echo "内存信息: $mem_total $mem_used $mem_ava"
echo "cpu信息: $cpus"
echo "磁盘信息根分区使用率: $root_used"
echo "进程信息: $process"

计算机网络入门与进阶

网络简介

  • 网络:
    • 简单说通过网络介质把各种设备连接起来形成的结构
  • 网络介质:
    • 网线:六类网线,七类网线(速度)
    • 光纤
    • WIFI
    • 无线5G
      在这里插入图片描述

FC接口:
在这里插入图片描述

全名叫Ferrule Connector,最早应用于存储局域网络。外壳材质为金属,接口处有螺纹,和光模块连接时可以固定的很好。
ST接口:
在这里插入图片描述

材质为金属,接口处为卡扣式,常用于光纤配线架
SC接口:
在这里插入图片描述

材质为塑料,推拉式连接,接口可以卡在光模块上,常用于交换机
LC接口:
在这里插入图片描述

材质为塑料,用于连接SFP光模块,接口可以卡在光模块上

  • 网速/传输速度:
    • 1000Mb/s
    • 网络中传输速度一般指的是位,而不是字节
    • 1字节=8位。1000/8 125M字节/s
    • 一般辨别方法 Mb(位) MB(字节)

网络设备与架构

1)交换机

  • switch(开关,交换机)

交换机特点:

  • 在一个交换机的端口上所连接的所有终端设备,均在一个网段上(称为一个广播域)
  • 产生广播消耗设备CPU资源
  • 终端用户的设备接入,连接交换机
  • 一个网段会有一个统一的网络标识
  • 交换机会有一些基本的安全功能
  • 了解:广播域的隔离(创建vlan虚拟局域网)
  • 了解:交换机可以隔离冲突域,每一个端口就是一个冲突域

2)路由器

  • 连接不通的网络
  • 用于指路

路由器的特点:

  • 路由协议的转发(路由选择,指路)
  • 路由类似于现实生活中从A地去B地可能需要先步行,在坐车,在坐飞机才能到达B地,这样整个过程在网络中对应数据的传递过程就称为路由。因此一个数据信息跨越不同的网段传递到目的地址,就可以把传递数据的过程称为路由,也可以看做每条传递数据的路径。
  • 数据转发,会维护一个路由表(相当于一个地图)
  • 路由器会作为网关(数据的出入口,类似大楼的大门),一般会在网络出口的位置摆放一台路由器
  • 路由器用于连接广域网(公网)

在这里插入图片描述

3)通用网站网络架构
在这里插入图片描述

在这里插入图片描述

  1. 小结:
  • 交换机与路由器特点
  • 一般网站网络部分的架构图

OSI七层模型

1)概述

  • 数据传输中的加工过程(打包,解包)
  • 规定了数据在通过软件处理的时候增加了什么信息,对方收到的时候如何进行拆解.

2) OSI7层模型

  • open system interconnect开放系统互连参考模型,是由ISO(国际标准化组织)定义的。
OSI7层每一层概述
7应用层大部分软件运行在这一层. http,https
6表示层负责数据加密,解密,压缩…(了解)
5会话层主要负责会话管理,维护…(了解)
4传输层主要负责数据传输方式.
3网络层主要负责路由与寻址.
2数据链路层将分组数据封装成帧.
1物理层物理链路,网卡 :本质: 把数据转换为2进制形式,通过线缆传输.
  • 记忆口诀:物数网传会表应.

OSI7层模型详解

1)应用层

  • 大部分软件,服务运行在应用层中.
  • 详细含义: 暴露很多接口,提供给其他服务软件使用.主要就是提供应用程序可以接入网络的接口,并根据程序的不同对应不同的接口协议.
  • 接口: 别人定义好的规范.usb接口一样,这里的接口指的是软件的接口,用于软件之间,服务之间相互使用.
  • 应用层中常见的服务/协议:
协议含义端口
http超文本传输协议:网站基础协议之一80
https多了secure:对数据加密443
smtp简单邮件传输协议 发邮件25
dns域名解析服务53

2)表示层 -了解
在这里插入图片描述

3)会话层 -了解

  • 回话—连接
    在这里插入图片描述

4)传输层-重点

  • 建立与对方连接(端到端连接)
  • 数据如何传输给对方,丢失了如何处理?
    • 可靠连接 tcp
    • 不可靠连接 udp
  • 通过端口与对方连接(访问百度连接百度80或443端口)
    在这里插入图片描述

5)网络层-重点

  • 负责将数据从源传输到目的
  • 主要负责: 主要作用就是路由(指路)和寻址(根据ip地址找人)
    • 提供ip地址
    • 进行路由(问路、指路)
  • 设备:3层路由器,3层交换
    在这里插入图片描述

6)数据链路层

  • 把上层数据进行转换,转换为帧
  • 通过mac地址访问对应的机器

mac地址: 网卡物理地址,世界上独一无二的地址

  • 设备:2层交换
    在这里插入图片描述

7)物理层

  • 网卡:把上面的数据转换为网络介质中可以传输的信号.

把数据转换为0101010内容,通过传输介质传递给对方。

8)osi7层模型小结

OSI7层模型含义协议
7 应用层应用之间互相调度,提供接口http(80),https(443),smtp(25),dns(53)
6 表示层数据加密,解密;编码,解码;压缩,解压缩
5 会话层负责建立,管理维护回话信息
4 传输层负责连接建立/断开,传输是否可靠tcp/udp,核心概念:端口
3 网络层负责路由(指路)与寻址(根据ip地址找人)核心概念:ip地址
2 数据链路层负责数据到达局域网后传输核心概念:Mac地址
1 物理层负责把数据转换为介质可以识别的信号(数据),通过介质 传输网卡,传输介质

数据传输与OSI7层模型

  • 给对方发送:天凉了,多喝热水。发生了什么?

在这里插入图片描述

2)网络设备处理包的过程
在这里插入图片描述

3)对方解包的过程
在这里插入图片描述

在这里插入图片描述

4)抓包查看
在这里插入图片描述

在这里插入图片描述

wireshark软件抓包,记得也要安装NPCAP!

TCP/IP 协议(OSI7层模型)-了解

在这里插入图片描述

TCP 3次握手-重点

  • 与服务的端口建立连接的流程

  • 三次握手、四次挥手概述
    https://www.processon.com/view/link/6243d5151efad40756d2add7

  • 客户端发出建立连接请求:SYN建立连接请求.发出seq的随机数(seq=100)

  • 服务端收到客户端请求:ACK(确认),SYN(与客户端建立),发出ack=seq+1(101),seq=随机数(666)

  • 客户端收到服务端请求与确认:发出ACK确认建立连接,发出ack=seq+1(667),seq=ack(101)

  • 到此,连接建立,开始传输数据

TCP4次挥手-重点

  • 三次握手、四次挥手概述
    https://www.processon.com/view/link/6243d5151efad40756d2add7

  • 发出断开连接请求:FIN断开连接请求,seq=随机数996

  • 服务端:收到客户端请求,确认:ACK确认,seq=随机数(9) ack=seq+1(997)

  • 服务端:向客户端发出断开连接请求,FIN断开连接请求,seq=随机数(9) ack=seq+1(997)

  • 客户端:确认收到请求,断开连接,ACK确认收到请求,seq=ack(997) ack=seq+1(10)

  • 连接断开

抓包分析-3次握手与4次握手

1)准备

工具
  • wireshark(win)
  • linux 安装nc软件
知识点
常见TCP中的标记位
SYNsync同步请求,与服务器端口建立连接
ACKack确认(回复:收到)
FINfinnish/final 结束,断开连接
seq,ack
seq与ack
seqsequence 序列号,随机
ackack 确认号

2)三次握手-熟悉(能够抓取三次握手数据包即可)

#linux 下面通过nc命令创建一个端口.
yum install -y nc
nc -kl 12306   #创建12306端口
ss -lntup     #检查端口
#windows通过本地shell 连接12306端口
telnet 10.0.0.100 12306
如果要断开,请按ctrl+alt+]

开始抓包: 过滤器中输入: tcp.port == 12306 抓取端口是12306的数据包

在这里插入图片描述

客户端:请求建立连接:SYN
在这里插入图片描述

服务端:确认请求(ACK),并且请求建立连接(SYN)
在这里插入图片描述

客户端:确认建立连接:ACK
在这里插入图片描述

4)四次挥手的抓包过程
在这里插入图片描述

总结

  • osi7层模式详细介绍:
    应用层 传输层 网络层(重点)
  • 三次握手详细过程:
  • 四次挥手详细过程:
  • wireshark抓包:3次握手

TCP/UDP的区别

4层协议
TCP传输控制协议:基于3次握手4次挥手,可靠连接
UDP用户数据报协议:不可靠连接
传输控制协议(TCP)数据报协议
面向连接(3次握手4次挥手,建立,断开连接)无连接
可靠传输不可靠传输
流控(检查数据是否丢失,丢失重新发送)尽力而为,尽力传递
使用TCP应用:WEB浏览器;电子邮件;文件传输程序使用UDP的应用:域名系统(DNS),视频流,IP语音(VoIP)

1)TCP
在这里插入图片描述

2)UDP
在这里插入图片描述

3)UDP演示-了解

#2台 linux 
都要安装nc命令.
#1台: 创建 udp 12306端口
nc -lu 12306
ss -lntup |grep 12306#另一台: 连接 udp 12306端口
nc -u 10.0.0.200 12306

wireshark 过滤规则 udp.port == 12306
在这里插入图片描述

在这里插入图片描述

TCP 11种状态

(https://www.processon.com/view/link/6245136a5653bb072bce3259)
在这里插入图片描述

TCP三次握手状态转换简单说明:
01.首先,建立连接之前服务器和客户端的状态都为CLOSED。
02.服务器创建socket后开始监听((服务端启动后)启动服务),变为LISTEN状态。
03.客户端请求建立连接,向服务器发送SYN报文,客户端的状态变为SYN_SENT。
04.服务器收到客户端的报文后向客户端发送ACK和SYN报文,此时服务器的状态变为SYN_RCVD(收到了客户端发送的SYN请求)。
05.然后,客户端收到ACK、SYN,就向服务器发送ACK,客户端状态变为ESTABLISHED
06.服务器收到客户端的ACK后也变为ESTABLISHED。
此时3次握手完成,连接建立!

2)4次挥手的状态
在这里插入图片描述

在这里插入图片描述

01.客户端先向服务器发送FIN报文,请求断开连接,其状态变为FIN_WAIT1。
02.服务器收到FIN后向客户端发送ACK,服务器状态变为CLOSE_WAIT。
03.客户端收到ACK后就进入FIN_WAIT2状态。此时连接已经断开了一半了。如果服务器还有数据要发送给客户端,就会继续发送。
04.直到发完了,就发送FIN报文,此时服务器进入LAST_ACK状态。
05.客户端收到服务器的FIN后,马上发送ACK给服务器,此时客户端进入TIME_WAIT状态,再过了2MSL长的时间后进入CLOSED状态。
06.服务器收到客户端的ACK就进入CLOSED状态。

3)第11种状态补充
CLOSING状态表示:
客户端发了FIN,但FIN_WAIT1状态时没有收到服务器的ACK确认字段,却收到了服务器的FIN字段,这种情况发生在服务器发送的ACK
丢包的时候,因为网络传输有时会有意外。
在这里插入图片描述

4)11种状态小结
必会: CLOSED,ESTABLISHED,LISTEN,TIME_WAIT.CLOSE_WAIT
逐渐掌握: FIN_WAIT1,FIN_WAIT2,CLOSING.
在这里插入图片描述

常见网络协议

  • DNS 域名解析服务/协议:域名—>IP地址

  • ARP
    1)DNS
    在这里插入图片描述

    a)域名解析流程:域名—>IP地址
    详细的DNS解析流程
    在这里插入图片描述

    b)DNS解析的命令
    通过命令查看DNS解析详细流程

##缓存 windows 
##系统级别ipconfig /displaydns 	#显示
ipconfig /flushdns 	#清空DNS缓存#详细解析过程   ※※※※※ linux命令
dig www.baidu.com 	#查询百度对应的ip dns解析的命令.#详细 DNS解析流程
dig +trace www.baidu.com

c)DNS故障

  • 通过域名访问:ping 域名 dig解析域名报错
  • ping 公网ip可以访问
#排查 是否DNS有问题
1. ping 域名
2. ping 公网ip

2)ARP协议

  • DNS 域名—>ip
  • ARP IP—>MAC地址
    ARP协议是3层协议,工作在2层
    解析流程简单:
  • 10.0.0.200 —> 10.0.0.2
  • 1:发出arp请求,发送广播找人,谁知道10.0.0.2的mac地址,请告诉10.0.0.200
  • 2:所有局域网的设备都收到广播,只有10.0.0.2这个机器进行响应:我是10.0.0.2 我的mac地址是xx:xx:xxxxxxx
  • 缓存mac地址
#抓包查看过程#10.0.0.200(都在这台机器操作)
arp -n #查看当前系统arp缓存表
ping 10.0.0.201
arp -d 10.0.0.201 #删除arp缓存
#10.0.0.201

在这里插入图片描述

3)ICMP协议 Internet控制报文协议
ping 使用的就是icmp协议
在这里插入图片描述

4)小结

协议名字特点
DNS域名解析系统/服务域名–>ip地址
ARP地址解析协议IP地址–>mac地址
ICMP因特网控制报文协议ping背后使用的协议

网卡配置(ip,dns)

1)网卡命名

网卡命名规则:ens33 
eth0

修改网卡名字为eth0
方法01:安装系统的时候修改
方法02:安装完成系统

a)方法02:安装完成系统

方法02:安装完成系统
第1步: 修改/boot/grub2/grub.cfg配置
linux16的行结尾加上
net.ifnames=0 biosdevname=0#修改之后检查内容
[root@oldboy81-golden-lnb ~]# grep -n linux16 /boot/grub2/grub.cfg第2步: 修改网卡配置文件.
1)修改网卡配置文件中NAME和DEVICE两个部分
vim修改
2)网卡配置文件名字改为eth0 
mv 修改修改后结果:
[root@oldboy81-golden-lnb ~]# grep -n eth0 
/etc/sysconfig/network-scripts/ifcfg-eth012:NAME=eth0
14:DEVICE=eth0

b)安装系统的时候修改
安装系统的时候选择第1个然后按tab键. 在最后写入net.ifnames=0 biosdevname=0

2)网卡配置文件
/etc/sysconfig/network-scripts/ifcfg-ens33

[root@hb-sre-001 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet		#基本固定,网络类型:以太网
PROXY_METHOD=none 
BROWSER_ONLY=no
BOOTPROTO=static	#网卡固定ip还是自动获取ip(DHCP 自动分配ip)#BOOTPROTO=dhcp		#自动获取#BOOTPROTO=none或static		#手动设置Ip
DEFROUTE=yes			#是否可以自定义路由规则	了解
IPV4_FAILURE_FATAL=no
NAME=ens33		#网卡名字
UUID=3f9d7f21-034c-4849-9f1d-c12ad1e642cb	#统一识别符#HWADDR=网卡的mac地址
DEVICE=ens33		#设备名字
ONBOOT=yes			#网卡是否自动运行(开机,重启网卡时)
IPADDR=10.0.0.100		#ip地址
GATEWAY=10.0.0.2	#网关,类似于大楼的出入口,网络环境中的环境出入口,一般3层路由
DNS=114.114.114.114		#主配置DNS
NETMASK=255.255.255.0	#跟PREFIX=24是一个意思
#PREFIX=24			#子网掩码,设置这个局域网中最多有多少台机器

常用的DNS

阿里云 DNS
223.5.5.5
223.6.6.6
114
114.114.114.114
114.114.115.115谷歌DNS
8.8.8.8 
8.8.4.4
DNS地址的选择:授权默认的;如果没有默认的,选择当前网络环境的(找运营商);最后再使用公共DNS.

子网掩码计算器

用户访问www.baidu.com整个过程

过程概述:
  • 1.DNS:域名—>ip
  • 2.用户与ip+端口 建立连接 3次握手
  • 3.数据的请求与响应
  • 4.用户断开连接 4次挥手

2)过程详解
在这里插入图片描述

3)抓包详解
抓包详解

局域网上网原理与虚拟机上网原理-了解

  1. 局域网上网原理
    https://www.processon.com/view/link/624666e207912907096e7c0f
  2. 虚拟机上网原理
    https://www.processon.com/view/link/6041a56af346fb55c9b1b1fd

网络管理命令

端口
连接情况
网络速度
DNS解析
追踪命令

1)检查端口

端口是否开启
端口是否能访问(连接)

a)案例01 检查是否存在22端口

方法01
ss -lntup |grep 22
#grep -w 精确过滤. grep -w oldboy   #oldboya 
oldboyb aceoldboy 被排除.方法02
netstat -lntup|grep 22方法03
lsof -ni:22方法03
lsof -i :22
lsof -ni :22
lsof -nPi :22
lsof -n 不要把ip反向解析为主机名、域名。
lsof -P 不要把端口解析为对应的服务。

b)检查是否可以访问22端口

#方法01 
telnet 10.0.0.200 22  #检查是否有connected 标记。
#方法02 
nc 10.0.0.200 22     #这个一般用于shell脚本中检查端口是
否开启。
#方法03
nmap 网络扫描工具。
nmap -p22 10.0.0.200PORT   STATE SERVICE
22/tcp open  ssh  #nmap结果中只要有 端口 open就是开启 。#nmap进阶使用
nmap -p1-1024   10.0.0.200 
nmap  -p22 10.0.0.0/24   jd.com taobao.com

c)企业面试题:如何检查端口是否存在

ss -lntup
netstat -lntup
lsof -i:22telnet ip 22
nc ip 22
nmap -p22 ip

2)检查tcp连接状态

ss -ant
netstat -ant[root@hb-sre-001 ~]# ss -ant
State      Recv-Q Send-Q                                                        Local Address:Port                                                                       Peer Address:Port              
LISTEN     0      128                                                                       *:22                                                                                    *:*                  
LISTEN     0      100                                                               127.0.0.1:25                                                                                    *:*                  
ESTAB      0      0                                                                10.0.0.100:22                                                                             10.0.0.1:59495              
ESTAB      0      52                                                               10.0.0.100:22                                                                             10.0.0.1:56006              
LISTEN     0      128                                                                    [::]:22                                                                                 [::]:*                  
LISTEN     0      100                                                                   [::1]:25                                                                                 [::]:*         未来统计:
企业案例:每种状态的次数.sort + uniq
企业案例:网站并发情况
并发:同一时间内,用户连接数量
方法:过程estab状态的数量

3)网络速度
a)总体速度

iftop 
iftop -n #ip反向解析为域名/主机名
iftop -i 指定网卡.
iftop -P 显示端口
iftop -N 不要把端口解析为服务名字
最终使用.
iftop -nNP -i eth0  #显示端口号,不要把ip解析为域名,不要把
端口解析为服务, 监视指定网卡eth0

b)进程流量

查看进程的流量情况.
方法01: iftop,ss,ps 一起使用
iftop找出端口.
ss找出端口对应的进程号(pid)
ps根据pid过滤进程名字.方法02: nethogs 
nethogs

4)DNS解析

dig ens解析
#方法01 dig 
QUESTION SECTION:
;baidu.com. IN A
ANSWER SECTION:
baidu.com. 106 IN A 220.181.38.148
baidu.com. 106 IN A 220.181.38.251#方法02 
[root@hb-sre-001 ~]# host jd.com
jd.com has address 111.13.149.108
jd.com has address 106.39.171.134
jd.com has address 211.144.27.126
jd.com has address 211.144.24.218
jd.com mail is handled by 30 mx1.jd.com.
jd.com mail is handled by 5 mx.jd.com.#方法03 
[root@hb-sre-001 ~]# nslookup www.baidu.com
Server:		8.8.8.8
Address:	8.8.8.8#53Non-authoritative answer:
www.baidu.com	canonical name = www.a.shifen.com.
Name:	www.a.shifen.com
Address: 157.148.69.74
Name:	www.a.shifen.com
Address: 157.148.69.80

5)追踪命令

检查线路是否通畅
ping
tracert(windows)  traceroute#01 两点之间.
ping baidu.com  
#02 
tracert(windows)   traceroute (linux yum install -
y traceroute)[C:\~]$ tracert www.baidu.com通过最多 30 个跃点跟踪
到 www.a.shifen.com [157.148.69.74] 的路由:1     1 ms     2 ms     1 ms  192.168.0.1 2     3 ms     3 ms     3 ms  10.88.128.1 3     6 ms     5 ms     4 ms  120.80.174.89 4     *        *        *     请求超时。5     *        *        *     请求超时。6     9 ms    17 ms    36 ms  221.4.0.98 7    10 ms    21 ms     6 ms  120.80.137.54 8     7 ms     7 ms     9 ms  157.148.64.158 9     *        *        *     请求超时。10     *        *        *     请求超时。11     *        *        *     请求超时。12     5 ms     5 ms     5 ms  157.148.69.74 跟踪完成。[root@hb-sre-001 ~]# traceroute -n www.baidu.com
traceroute to www.baidu.com (157.148.69.80), 30 hops max, 60 byte packets1  10.0.0.2  0.076 ms  0.037 ms  0.047 ms2  * * *3  * * *4  * * *5  * * *6  * * *7  * * *8  * * *9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

6)命令小结

网络命令
查询ip地址ip/ipconfig
检查端口号ss/netstat/lsof/nc/telnet/nmap
检查连接情况ss -ant /netstat -ant
检查速度iftop /nethogs
dns解析dig/host/nslookup
路径追踪tracert /traceroute
查询当前系统配置的网关/路由信息ip ro /route -n

抓包

1)概述

目标:
1.抓出指定协议的数据包
2.抓出指定端口
3.抓出指定ip
抓包工具
wireshark可视化抓包工具、win/mac/linux
fiddler代理,所有流量走fiddler,然后出去
tcpdumplinux自带
burpsuit抓包,修改数据包

2)wireshark
在这里插入图片描述

#抓出指定协议
icmp #ping 数据包
tcp
udp 
http 
arp 
#抓住指定端口
tcp.port == 80  #过滤出源端口或目标端口是80的数据包.
tcp.srcport == 80 #过滤出源端口80
tcp.dstport == 80 #过滤目标端口80#抓出指定ip的数据包
ip.addr == 10.0.0.200  #过滤出源ip或目标ip是10.0.0.200 数据包ip.src == 10.0.0.200  #过滤出源ip10.0.0.200 数据包
ip.dst == 10.0.0.200   #过滤出目标ip10.0.0.200 数据包#组合 过滤出 端口是80 并且 ip地址是10.0.0.200 
and #并且 &&
or  #或者 ||
!   #取反
tcp.port == 80 && ip.addr == 10.0.0.200  #并且
tcp.port == 80 || ip.addr == 10.0.0.200  #或者

3)tcpdump 过滤

yum -y install tcpdump
ps:如果默认网卡不是eth0的话需要指定网卡nc -kl 80
telnet 10.0.0.100 80
cpdump -i ens33 -nnn port 80[root@hb-sre-001 ~]# tcpdump -i ens33 -nnn port 80
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
16:18:24.446130 IP 10.0.0.1.56121 > 10.0.0.100.80: Flags [P.], seq 1002926694:1002926696, ack 1463935147, win 4106, length 2: HTTP
16:18:24.446155 IP 10.0.0.100.80 > 10.0.0.1.56121: Flags [.], ack 2, win 229, length 0
16:18:24.446195 IP 10.0.0.1.56121 > 10.0.0.100.80: Flags [P.], seq 2:4, ack 1, win 4106, length 2: HTTP
16:18:24.446198 IP 10.0.0.100.80 > 10.0.0.1.56121: Flags [.], ack 4, win 229, length 0
16:18:45.738620 IP 10.0.0.1.56121 > 10.0.0.100.80: Flags [P.], seq 4:6, ack 1, win 4106, length 2: HTTP
16:18:45.738712 IP 10.0.0.100.80 > 10.0.0.1.56121: Flags [.], ack 6, win 229, length 0
16:19:45.723025 IP 10.0.0.1.56121 > 10.0.0.100.80: Flags [P.], seq 6:8, ack 1, win 4106, length 2: HTTP
16:19:45.723052 IP 10.0.0.100.80 > 10.0.0.1.56121: Flags [.], ack 8, win 229, length 0
16:20:45.723515 IP 10.0.0.1.56121 > 10.0.0.100.80: Flags [P.], seq 8:10, ack 1, win 4106, length 2: HTTP
16:20:45.723569 IP 10.0.0.100.80 > 10.0.0.1.56121: Flags [.], ack 10, win 229, length 0#过滤协议
tcpdump icmp
tcpdump -vvv -nnn icmp
#过滤指定端口号 80端口
tcpdump -nnn port 80
tcpdump -nnn src port 80
tcpdump -nnn dst port 80
#抓住指定主机
tcpdump -nnn host 10.0.0.100
#抓取指定ip和端口的数据包
tcpdump -nnn src host 10.0.0.100 and port 80
tcpdump -nnn dst host 10.0.0.100 and port 80
#
tcpdump -i ens33 
#组合 过滤出 端口是80 并且 ip地址是10.0.0.200 
and #并且    
or #或者   
!  #取反

4)案例tcpdump + wireshark抓包流程

tcpdump linux 抓包并保存
下载
wireshark分析

5)抓包小结

过滤条件wiresharktcpdump
抓出指定协议icmp/tcp/httpicmp/tcp/http
抓出指定端口tcp.port == 80port 80
过滤出源端口tcp.srcport == 80src port 80
过滤目标端口tcp.dstport == 80dst port 80
抓出指定ip的数据包ip.addr == 10.0.0.200host 10.0.0.200
过滤出源ipip.src == 10.0.0.200src host 10.0.0.200
过滤出目标ipip.dst == 10.0.0.200dst host 10.0.0.200

IP

1)格式
网络位,主机位
在这里插入图片描述

2)子网掩码
用来决定局域网(网段中)最多有多少台机器
24
255.255.255.0

总结

  • 路由器交换机特点(熟悉)
  • OSI7层模型(必会)
  • 三次握手,四次挥手
  • 11种状态(掌握核心5个)
  • tcp/udp区别
  • 网络协议:
    • DNS
    • arp
    • icmp
  • 用户访问网站的流程:(必会)
  • 网络管理命令(必会)
  • 抓包(必会)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.bcls.cn/dXgQ/2781.shtml

如若内容造成侵权/违法违规/事实不符,请联系编程老四网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

前端架构: 实现脚手架终端UI样式之ANSI escape code, Chalk, Ora介绍

在脚手架当中实现命令行的UI显示 1 &#xff09;概述 在命令行中&#xff0c;如果想实现除传统的常规文本以外的内容比如想对字体进行加粗斜体下划线&#xff0c;包括对它改变颜色改变前景色改变后景色等等需要借助一个叫做 ANSI escape code 这样的一个概念它其实是一个标准&…

Linux安装docker(CentOS)

1.下载工具 yum install -y yum-utils2.设置镜像的仓库 yum-config-manager \--add-repo \https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3.更新yum软件包索引 yum install docker-ce docker-ce-cli containerd.io4.安装docker相关配置 yum install do…

【web安全】渗透测试实战思路

步骤一&#xff1a;选目标 1. 不建议太小的公司&#xff08;可能都是请别人来开发的&#xff0c;用现成成熟的框架&#xff09; 2. 不建议一线大厂&#xff1a;腾讯&#xff0c;字节&#xff0c;阿里等&#xff0c;你懂的 3. 不建议政府部门&#xff0c;安全设备多&#xff…

【C语言】注释

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;C语言 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进步&…

线性代数:向量空间

目录 向量空间 Ax 0 的解空间S Ax b 的全体解向量所构成集合不是向量空间 基、维数、子空间 自然基与坐标 例1 例2 向量空间 Ax 0 的解空间S Ax b 的全体解向量所构成集合不是向量空间 基、维数、子空间 自然基与坐标 例1 例2

大厂的数据质量中心系统设计

日常工作中&#xff0c;数据开发上线完一个任务后并不是就可以高枕无忧&#xff0c;时常因上游链路数据异常或者自身处理逻辑的 BUG 导致产出的数据结果不可信。而问题发现可经历较长周期&#xff08;尤其离线场景&#xff09;&#xff0c;往往是业务方通过上层数据报表发现数据…

MySQL进阶 - 备份与恢复

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 知…

软件常见设计模式

设计模式 设计模式是为了解决在软件开发过程中遇到的某些问题而形成的思想。同一场景有多种设计模式可以应用&#xff0c;不同的模式有各自的优缺点&#xff0c;开发者可以基于自身需求选择合适的设计模式&#xff0c;去解决相应的工程难题。 良好的软件设计和架构&#xff0…

R语言实现分位数回归和二次分位数回归

大家好&#xff0c;我是带我去滑雪&#xff01;新的一年&#xff0c;新的气象&#xff0c;在接下来的日子里我将继续和各位小伙伴们分享我在科研道路上&#xff0c;学习的一些知识&#xff01; 分位数回归和二次分位数回归是统计学中用于分析因变量与自变量之间关系的方法&…

vue:find查找函数实际开发的使用

find的作用&#xff1a; find 方法主要是查找数组中的属性&#xff0c;会遍历数组&#xff0c;对每一个元素执行提供的函数&#xff0c;直到找到使该函数返回 true 的元素。然后返回该元素的值。如果没有元素满足测试函数&#xff0c;则返回 undefined。 基础使用&#xff1a…

智慧社区管理系统:构建未来的生活模式

在这个信息化、智能化的时代&#xff0c;我们期待的不再是简单的居住空间&#xff0c;而是一个集安全、便捷、舒适、环保于一体的智能化社区。为此&#xff0c;我们推出了全新的智慧社区管理系统&#xff0c;旨在将先进的科技力量引入社区管理&#xff0c;为居民提供更优质的生…

掌握BeautifulSoup4:爬虫解析器的基础与实战【第91篇—BeautifulSoup4】

掌握BeautifulSoup4&#xff1a;爬虫解析器的基础与实战 网络上的信息浩如烟海&#xff0c;而爬虫技术正是帮助我们从中获取有用信息的重要工具。在爬虫过程中&#xff0c;解析HTML页面是一个关键步骤&#xff0c;而BeautifulSoup4正是一款功能强大的解析器&#xff0c;能够轻…

B² NETWORK空投

空投要点 众多大机构支持&#xff0c;是为数不多的有 Bitcoin 主网验证 Rollup 解决方案的 BTC Layer2&#xff0c;提前埋伏其实是普通人抢早期筹码最好的方式&#xff0c;参加 B Buzz 就是手握金铲子&#xff0c;对标eth二层网络的繁荣程度你就能想象这个前景明牌空投5%给早期…

源聚达科技:抖音店铺2024年卖什么好

随着时代的变迁和科技的进步&#xff0c;消费者的购物习惯与偏好也在不断演变。展望2024年&#xff0c;抖音作为新兴的电商平台&#xff0c;其店铺销售策略需紧跟潮流&#xff0c;才能在激烈的市场竞争中脱颖而出。那么&#xff0c;哪些产品将成为抖音店铺的新宠呢? 首当其冲&…

git 使用总结

文章目录 git merge 和 git rebasegit mergegit rebase总结 git merge 和 git rebase git merge git merge 最终效果说明&#xff1a; 假设有一个仓库情况如下&#xff0c;现需要进行 merge&#xff1a; merge 操作流程&#xff1a; merge 的回退操作&#xff1a; git reba…

css3的var()函数

css3的var()函数 变量要以两个连字符--(横杆)(减号)为开头 变量可以在:root{}中定义, :root可以在css中创建全局样式变量。通过 :root本身写的样式&#xff0c;相当于 html&#xff0c;但优先级比后者高。 在CSS3中&#xff0c;var()函数是一个用于插入CSS自定义属性&#xff…

Eureka注册中心(黑马学习笔记)

Eureka注册中心 假如我们的服务提供者user-service部署了多个实例&#xff0c;如图&#xff1a; 大家思考几个问题&#xff1a; order-service在发起远程调用的时候&#xff0c;该如何得知user-service实例的ip地址和端口&#xff1f; 有多个user-service实例地址&#xff0c…

音视频技术-声反馈啸叫的产生与消除

目录 1.均衡调节: 2.移频法: 3.移相法: 4.比较法: 在扩音系统中,产生啸叫危害很大,一方面影响会议、演出等活动的正常进行,另一方面严重的啸叫会导致音响设备的损坏。 “啸叫”是“声反馈”的俗称,形成的机制复杂,消除的手段多样,专业调音师也对

【虚拟仿真】Unity3D中实现3DUI,并且实现Button、InputField、Toggle等事件绑定

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 最近在项目中需要用到3DUI的展示,之前一般会用TextMeshPro进行展示: 但是,后面又需要添加按钮、Toggle等…

XWPFTemplate(二)动态生成表格

记录XWPFTemplate关于表格的遍历。具体代码 public static void main(String[] args) throws IOException {//模板文件地址String filePath "/Users/liu/Downloads/test.docx";Map<String,Object> map new HashMap<>();Calendar now Calendar.getIns…
推荐文章