00.网络结尾
1.抓包方式
1.工具:wireshark
2.命令:tcpdump #yum -y install tcpdump
1.1.工具wireshark(鲨鱼)抓包软件在Windows使用
1.2.命令tcpdump
作用:tcpdump是一个用于截取网络分组,并输出分组内容的工具。凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具
tcpdump 支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息
---------------------------------------
[root@oldboy ~]# yum -y install tcpdump
#常用选项
-i #监听哪一个网卡
-n #不把ip解析成主机名
-nn #不把端口解析成应用层协议
-c #指定抓包的数量
-S #不把随机序列和确认序列解析成绝对值
-w #将流量保存到文件中,文件中的信息是无法直接查看的
-r #读取文件中的内容
-v #输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息。
-vv #输出详细的报文信息。
-nnvvi ens33
-------------------------------------------
#0.保存到文件中
[root@oldboy ~]# tcpdump -w 1.txt -nnvvi ens33 dst www.baidu.com
查看文件中的内容
[root@oldboy ~]# tcpdump -r 1.txt
#1. 默认启动
[root@oldboy ~]# tcpdump -vv #普通情况下,之间启动tcpdump将监视第一个网络接口上所有流过的数据包。
#2.过滤主机
[root@oldboy ~]# tcpdump -i ens33 host 10.0.0.200 #抓取所有经过ens33,目标或源地址是10.0.0.200的网络数据
[root@oldboy ~]# tcpdump -i ens33 src host 10.0.0.200 #指定源地址,10.0.0.200
[root@oldboy ~]# tcpdump -i ens33 dst host 10.0.0.200 #指定目的的地址,10.0.0.200
#3.过滤端口
[root@oldboy ~]# tcpdump -i ens33 port 80 #抓取所有经过ens33,目的或源端口是80的网络数据
[root@oldboy ~]# tcpdump -i ens33 src port 80 #指定源端口
[root@oldboy ~]# tcpdump -i ens33 dst port 80#指定目的端口
#4.协议过滤
[root@oldboy ~]# tcpdump -i ens33 arp #抓arp协议
[root@oldboy ~]# tcpdump -i ens33 ip #抓ip
[root@oldboy ~]# tcpdump -i ens33 tcp #抓tcp
[root@oldboy ~]# tcpdump -i ens33 udp #抓udp
[root@oldboy ~]# tcpdump -i ens33 icmp #抓icmp
抓tcp某端口的数据包
[root@oldboy ~]# tcpdump -i ens33 tcp port 21 -nn
#5.常用表达式
非:! or not
且:&& or and
或:|| or or
1.3.实例:企业中遇到无法远程连接排错流程
企业中遇到无法远程连接拍错流程: IDC机房服务器 云服务器
1.ping 通
2.通过页面或者机房插显示器连接服务器抓包
tcpdump -nni eth0 port 12345
3.在公司Windows电脑使用telnet连接测试
cmd窗口--》telnet 服务器ip地址 12345
结果:
1.如果服务端可以看到来源公网IP地址说明服务端做的限制
2.如果服务端来源IP地址不是公司公网IP地址 则需要放行抓取到的公网(打电话解决)
3.如果服务端收不到任何信息,说明是公司网络问题
2.Linux常用网络命令
2.1.网卡命名规则
biosdevname和net.ifnames两种命名规范
#net.ifnames的命名规范为:
设备类型+设备位置+数字
#设备类型:
en 表示Ethernet
wl 表示WLAN
ww 表示无线广域网WWAN
2.2.ping
作用:ping命令主要的功能是用来检测网络的连通情况和分析网络速度。
常用选项:
-t #持续ping,不中断。不加该选项只ping4个包。
-c #ping的包数,默认是4个。
-W #多长时间ping一次。
-f #极速ping。
注意:windows: ping不通不能表示服务器不能访问 可能服务器禁止了ICMP协议(禁ping)
2.3.nc
作用:nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具
常用选项:
-l #用于指定nc将处于侦听模式。
-u #指定nc使用UDP协议,默认为TCP
-v #输出交互或出错信息,新手调试时尤为有用
-w #超时秒数,后面跟数字
-z #表示zero,表示扫描时不发送任何数据
2.4.nmap
作用:Nmap即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具。Nmap用于在远程机器上探测网络,执行安全扫描,网络审计和搜寻开放端口。
常用选项:
-p #指定端口号
-p22 #单个端口
-p22,80 #多个端口
-p1-1000 #1到1000之间的端口
企业案例:
写一个脚本 探测自己所有的服务器上开放的服务以及端口 并且计算一些每个服务占用所有服务的百分比
用AI写,改吧改吧能用
2.5.telnet
作用:一种远程登录的工具。同样可以检查某个主机是否开启某个端口
默认端口23
用法用法 主要功能链接路由器、交换机 telnet 192.168.13.1 端口
2.6.netstat
作用:打印网络连接、路由表、tcp11种状态。查看当前系统中运行了哪些服务端口
常用选项:
-l #只显示监听套接字。
-n #不做名字解析
-t #显示tcp端口
-u #显示udp端口
-p #显示pid和程序名字
-r #显示路由表
-a #显示所有的套接字
netstat -tnulp
2.7.ss
作用:跟netstat命令差不多。
#常用选项
-l #只显示监听套接字。
-n #不做名字解析
-t #显示tcp端口
-u #显示udp端口
-p #显示pid和程序名字
-r #解析主机名
-a #显示所有的套接字
2.8.tracert
作用:(windows) 路由跟踪(检查你与目标之间每个路口是否畅通)
常用选项:
-d #禁止把IP解析为对应的域名(主机名)
2.9.traceroute
作用:路由跟踪(检查你与目标之间每个路口是否畅通)
常用选项:
-n 禁止把IP解析为对应的域名(主机名)
[root@oldboy ~]# traceroute -n -I www.baidu.com
2.10.iftop
iftop界面说明:
界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。
中间的<= =>这两个左右箭头,表示的是流量的方向。
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量
常用选项:
-i #设定监测的网卡
-B #以bytes为单位显示流量(默认是bits)
-n #使host信息默认直接都显示IP
-P #使host信息及端口信息默认就都显示
-m #设置界面最上边的刻度的最大值,刻度分五个大段显示
按q退出监控。
2.11.dstat
测试带宽
yum -y install dstat
dstat -nf
注:麒麟默认仓库epel都没有这个命令,ubt可以下载这个命令

3.网络重点
#1.网络常用命令
1)Linux系统
ping
ip add
route -n
ifconfig
nslookup
tracerount
tcpdump
nmap
nc
iftop
iotop
netstat -tnulp
ss -an|grep tcp
telnet
crul
wget
2)windows系统
ping
nslookup
mstsc
cmd
ipconfig/all
ipconfig/flushdns
ipconfig/displaydns
tracert
2.OSI七层模型
3.TCP三次握手
4.TCP四次挥手
5.DNS解析流程
6.子网掩码决定IP可用数量
7.静态路由动态路由理解
01.一阶段基础重点
1.系统命令
2.目录作用 目录下放着是啥
3.相关配置文件 网卡 NDS配置 rc.local profile hostname
4.三剑客 正则 awk sed grep 正则
5.文件属性 /dev/null zero dd find
6.软件安装yum rpm apt dpkg
7.打包压缩tar zip
8.用户管理 密码
删除
切换su
提权visudo
md5sum
9.权限管理
10.进程管理
11.定时任务
12.磁盘管理 挂载新的磁盘 RAID
13.相关案例
14.lsof 查看文件被哪个进程占用
02.二阶段开篇
#相关名词概念:
WEB服务
静态数据:图片视频--->静态页面 html语言
动态数据:和我们进行交互的数据 登录 注册 评论 个人信息 银行卡信息 -->数据库核心
架构:
集群:
高可用:
负载均衡:
高并发:
微服务:
1.系统优化
恢复到最初始的安装完操作系统--->快照或重装
--------------------
1.安装扩展的epel仓库
2.安装常用的软件工具
3.添加多块网卡
4.关闭防火墙(优化防火墙 只放行业务端口80)
5.selinx centos默认是开启的 kylin和ubt都是关闭的
6.时间同步
7.修改SSH
8.加大文件描述符
9.卸载tmp目录
10.内核优化 网络参数
1.1.安装扩展的epel仓库
[root@oldboy ~]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
1.2.安装常用的软件工具
[root@oldboy ~]# yum -y install network-scripts tree lrzsz ntpdate screen iftop net-tools
1.3.添加多块网卡
1.添加一块网卡

2.配置第二块网卡的IP地址
1)优化第一块网卡
[root@oldboy ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@oldboy ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=none
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=10.0.0.200
PREFIX=24
GATEWAY=10.0.0.2
DNS1=223.5.5.5
2)查看第二块网卡名称
[root@oldboy ~]# ip a|grep ens
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute ens33
3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
3)复制ifcfg-ens33到ifcfg-ens36
[root@oldboy ~]# cd /etc/sysconfig/network-scripts/
[root@oldboy network-scripts]# cp ifcfg-ens33 ifcfg-ens36
[root@oldboy network-scripts]# cat ifcfg-ens36
TYPE=Ethernet
BOOTPROTO=none
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=172.16.1.200
PREFIX=24
4)重启网卡生效
[root@oldboy network-scripts]# systemctl restart network
1.4.关闭防火墙(优化防火墙 只放行业务端口80)
[root@oldboy ~]# systemctl stop firewalld
[root@oldboy ~]# systemctl status firewalld
1.5.selinux centos默认是开启的 kylin 和 ubt都是关闭的
#临时退出当前selinux防火墙
[root@oldboy ~]# setenforce 0
setenforce: SELinux is disabled
#禁止开机启动
[root@oldboy ~]# sed -i '8c SELINUX=disabled' /etc/selinux/config
疑问?实测kylin也默认开启
1.6.时间同步
[root@oldboy ~]# tail -1 /etc/crontab
*/15 * * * * root ntpdate ntp1.aliyun.com &>/dev/null
1.7.修改SSH
1)默认端口22-->其他未被使用的 使用5555 配置文件的17行修改默认端口
[root@oldboy ~]# grep Port /etc/ssh/sshd_config -n
17:Port 5555
重启生效
[root@oldboy ~]# systemctl restart sshd
注意:改完记得改回,自己用可以用默认端口
2)优化远程连接的速度
[root@oldboy ~]# vim /etc/ssh/sshd_config
80 GSSAPIAuthentication no #第80行修为no
113 #UseDNS no #centos默认是开启的,需要改成no kylin默认关闭不需要操作
重启生效
[root@oldboy ~]# systemctl restart sshd
8.加大文件描述符
[root@oldboy ~]# echo "* - nofile 65535" >> /etc/security/limits.conf
查看默认的描述符、默认是1024
[root@oldboy ~]# ulimit -n
65535
#注意:修改后重新连接xshell生效
#查看某个进程总共用的文件描述符
[root@oldboy ~]# ps aux|grep nginx
root 5347 0.0 0.2 39172 2364 ? Ss 17:36 0:00 nginx: master process /usr/sbin/nginx
nginx 5348 0.0 0.6 50344 6372 ? S 17:36 0:00 nginx: worker process
root 5354 0.0 0.0 213156 808 pts/0 S+ 17:36 0:00 grep nginx
[root@oldboy ~]# ll /proc/5347/fd/|wc -l
12
1.9.卸载tmp目录
#永久锁定 NFS 服务,禁止任何方式启动(开机 / 手动 / 依赖启动)
[root@oldboy ~]# systemctl mask nfs.service 错的 正确的:systemctl mask tmp.mount
Created symlink /etc/systemd/system/nfs.service → /dev/null.
#解除命令
systemctl unmask nfs.service
1.10.内核优化 网络参数
2.克隆虚拟机
2.1.系统优化做快照

2.2.克隆需要的服务器
| 主机名 | 外网IP | 内网IP |
|---|---|---|
| backup | 10.0.0.41 | 172.16.1.41 |
| web01 | 10.0.0.7 | 172.16.1.7 |
| nfs | 10.0.0.31 | 172.16.1.31 |
| web02 | 10.0.0.8 | 172.16.1.8 |
2.3.修改主机名
#1.backup主机
[root@backup ~]# hostnamectl set-hostname backup
#2.web01主机
[root@web01 ~]# hostnamectl set-hostname web01
#3.nfs主机
[root@nfs ~]# hostnamectl set-hostname nfs
#4.web02主机
[root@web02 ~]# hostnamectl set-hostname web02
2.4.修改IP地址
##1.backup主机
[root@backup network-scripts]# grep 'IP' ifcfg-ens33
IPADDR=10.0.0.41
[root@backup network-scripts]# grep 'IP' ifcfg-ens36
IPADDR=172.16.1.41
重启网卡
[root@backup network-scripts]# systemctl restart network
#2.web01主机
[root@web01 network-scripts]# grep 'IP' ifcfg-ens33
IPADDR=10.0.0.7
[root@web01 network-scripts]# grep 'IP' ifcfg-ens36
IPADDR=172.16.1.7
重启网卡
[root@web01 network-scripts]# systemctl restart network
#3.nfs主机
[root@nfs network-scripts]# grep 'IP' ifcfg-ens33
IPADDR=10.0.0.31
[root@nfs network-scripts]# grep 'IP' ifcfg-ens36
IPADDR=172.16.1.31
重启网卡
[root@nfs network-scripts]# systemctl restart network
#4.web02主机
[root@web02 network-scripts]# grep 'IP' ifcfg-ens33
IPADDR=10.0.0.8
[root@web02 network-scripts]# grep 'IP' ifcfg-ens36
IPADDR=172.16.1.8
[root@web02 network-scripts]# systemctl restart network
2.5.做快照
主机1-4快照

2.6.xshell远程连接创建会话

测试验证

正文完