目录
一、网络的连接查看
1、netstat
作用
-
查看本地服务的网络监听状态
-
查看客户端连接到本地服务的连接状态
语法
netstat 选项 (-anptu)
[root@localhost ~]# netstat -anptu Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1873/dnsmasq tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1066/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1071/cupsd tcp 1 0 192.168.239.128:40384 44.213.238.211:443 CLOSE_WAIT 2605/gnome-shell tcp 0 0 192.168.239.128:22 192.168.239.1:61218 ESTABLISHED 3284/sshd: root [pr tcp6 0 0 :::111 :::* LISTEN 1/systemd tcp6 0 0 :::22 :::* LISTEN 1066/sshd tcp6 0 0 ::1:631 :::* LISTEN 1071/cupsd udp 0 0 0.0.0.0:44219 0.0.0.0:* 878/avahi-daemon: r udp 0 0 0.0.0.0:5353 0.0.0.0:* 878/avahi-daemon: r udp 0 0 192.168.122.1:53 0.0.0.0:* 1873/dnsmasq udp 0 0 0.0.0.0:67 0.0.0.0:* 1873/dnsmasq udp 0 0 0.0.0.0:111 0.0.0.0:* 1/systemd udp 0 0 127.0.0.1:323 0.0.0.0:* 892/chronyd udp6 0 0 :::5353 :::* 878/avahi-daemon: r udp6 0 0 :::40389 :::* 878/avahi-daemon: r udp6 0 0 :::111 :::* 1/systemd udp6 0 0 ::1:323 :::* 892/chronyd
选项
-n, --numeric 显示数字形式地址而不是去解析主机、端口或用户名。 -a, --all 显示所有的监听或连接状态 -p, --program 显示连接所属进程的PID和名称。 -t,--tcp 显示TCP连接 -u,--udp 显示UDP连接 -l 查看监听
2、ss
作用
-
查看本地服务的网络监听状态
-
查看客户端连接到本地服务的连接状态
语法
ss 选项 (-anptuli)
[root@localhost ~]# ss -anptuli
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 0.0.0.0:44219 0.0.0.0:* users:(("avahi-daemon",pid=878,fd=14))
udp UNCONN 0 0 0.0.0.0:5353 0.0.0.0:* users:(("avahi-daemon",pid=878,fd=12))
udp UNCONN 0 0 192.168.122.1:53 0.0.0.0:* users:(("dnsmasq",pid=1873,fd=5))
udp UNCONN 0 0 0.0.0.0%virbr0:67 0.0.0.0:* users:(("dnsmasq",pid=1873,fd=3))
udp UNCONN 0 0 0.0.0.0:111 0.0.0.0:* users:(("rpcbind",pid=847,fd=5),("systemd",pid=1,fd=42))
udp UNCONN 0 0 127.0.0.1:323 0.0.0.0:* users:(("chronyd",pid=892,fd=5))
udp UNCONN 0 0 [::]:5353 [::]:* users:(("avahi-daemon",pid=878,fd=13))
udp UNCONN 0 0 [::]:40389 [::]:* users:(("avahi-daemon",pid=878,fd=15))
udp UNCONN 0 0 [::]:111 [::]:* users:(("rpcbind",pid=847,fd=7),("systemd",pid=1,fd=44))
udp UNCONN 0 0 [::1]:323 [::]:* users:(("chronyd",pid=892,fd=6))
tcp LISTEN 0 128 0.0.0.0:111 0.0.0.0:* users:(("rpcbind",pid=847,fd=4),("systemd",pid=1,fd=41))
cubic cwnd:10
tcp LISTEN 0 32 192.168.122.1:53 0.0.0.0:* users:(("dnsmasq",pid=1873,fd=6))
cubic cwnd:10
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1066,fd=3))
cubic cwnd:10
tcp LISTEN 0 128 127.0.0.1:631 0.0.0.0:* users:(("cupsd",pid=1071,fd=7))
cubic cwnd:10
tcp LISTEN 0 128 [::]:111 [::]:* users:(("rpcbind",pid=847,fd=6),("systemd",pid=1,fd=43))
cubic cwnd:10
tcp LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=1066,fd=4))
cubic cwnd:10
tcp LISTEN 0 128 [::1]:631 [::]:* users:(("cupsd",pid=1071,fd=6))
cubic cwnd:10
选项
-n, --numeric 显示数字形式地址而不是去解析主机、端口或用户名。 -a, --all 显示所有的监听或连接状态 -p, --program 显示连接所属进程的PID和名称。 -t,--tcp 显示TCP连接 -u,--udp 显示UDP连接 -i,--info 查看客户端连接到本地的状态 -l 查看监听
开启Linux服务的路由功能(了解即可)
vim /etc/sysctl.conf 内核参数修改配置文件 添加 net.ipv4.ip_forward = 1 sysctl -p 加载配置
3、bond绑定
将多个物理网卡进行排列组合,形成逻辑网卡,网卡的高可用
3.1、绑定模式
-
mode0(平衡负载模式):平时两块网卡均工作,且自动备援,但需要在与服务器本地 网卡相连的交换机设备上进行端口聚合来支持绑定技术。
-
mode1(自动备援模式):平时只有一块网卡工作,在它故障后自动替换为另外的网卡。
-
mode6(平衡负载模式):平时两块网卡均工作,且自动备援,无须交换机设备提供辅助支持。
3.2、绑定案例
服务器有两块网卡 ens33和ens36
ens34操作
TYPE=Ethernet BOOTPROTO=none NAME=ens33 DEVICE=ens33 ONBOOT=yes MASTER=bond0 SLAVE=yes
ens35操作
TYPE=Ethernet BOOTPROTO=none NAME=ens35 DEVICE=ens35 ONBOOT=yes MASTER=bond0 SLAVE=yes
bond0操作
TYPE=ethernet BOOTPROTO=none NAME=bond0 DEVICE=bond0 ONBOOT=yes IPADDR=192.168.239.128 PREFIX=24 GATEWAY=192.168.239.2 DNS1=192.168.239.2
添加bond配置文件
vim /etc/modprobe.d/bond.conf alias bond0 bonding options bonding mode=6 miimon=200
关闭网络图形化服务
systemctl stop NetworkManager
重启网络服务
ifdown ens33 && ifupens33 && ifdown ens35 && ifup ens35 &&ifup bond0 systemctl restart network #重启会出现启动失败,但是bond绑定是OK的!!!
4、Linux下的抓包工具
tcpdump
语法
tcpdump -i 网卡名
选项
-c 当 收到多少个报文后退出 -i 监听 interface. 如果 不指定 接口, tcpdump 在 系统 的 接口 清单 中,寻找 号码最小, 已经 配置好的 接口 (loopback 除外). 选中的时候会中断连接. -n 不要把地址转换成 名字 (指的是 主机地址, 端口号等) -t 禁止 显示 时戳标志. -v (稍微多一点) 繁琐的输出. 例如, 显示 IP 数据报 中的 生存周期 和服务类型. -e 显示 链路层报头
额外参数
dst port portNumber 抓取目标端口为portNumber的报文 port portNumber 抓取端口为portNumber的报文 src port portNumber 抓取源端口为portNumber的报文
案例
抓取客户端访问本机80号端口的1000个报文
tcpdump -tn dst port 80 -c 1000 -i bond0
Wireshark
5、web压力测试工具
ab -c 100 -n 2000 http://192.168.1.254/
6、路由追踪命令
traceroute 目标地址或域名
二、下载管理
1、常见的软件包类型
1.rpm包:.rpm为后缀,红帽系列操作系统(RedHat,CentOS,OpenSUSE)主要的软件包封装格式,已经做好默认设置,如安装路径,配置文件存放路径,需要手动的解决依赖关系。(相关命令:rpm,yum,dnf)
2.deb包:.deb为后缀,debian系列操作系统(debian,Ubuntu,kali)主要的软件包封装格式,已经做好默认设置,如安装路径,配置文件存放路径等,需要手动的解决依赖关系。(相关命令:dpkg,apt[-get])
依赖关系:安装软件包所需的基础环境
3.二进制包:一般以.bin为后缀,直接被计算机执行安装。
4.源码包:一般C语言(高级语言中最底层的语言,一般结合汇编进行驱动编写)编写,安装前需要编译为二进制包;配置【如,安装路径,配置文件路径,运行用户,运行组,功能模块】--->编译--->安装;文件比较集中,便于后期进行维护与管理。
2、安装方法
使用独立的rpm包安装
需要下载对应的rpm包,一般在centos系统镜像中存在大量的rpm包
rpm命令使用方法
zip-0-11.el7.x86_64.rpm
软件名.版本号.安装平台.安装架构平台的位数(32位,x86或者64位,x86_64).rpm
已安装软件包查看选项
-q:查看指定rpm包是否安装;rpm -q 软件名 -qa 【all】:查看系统中所有已安装的软件包;rpm -qa [| grep 软件名] -qi 【infomation】:查看已安装软件包的开发信息;rpm -qi 软件名 -ql 【list】:查看已安装软件包的安装路径及生成的文件;rpm -ql 软件名 -qf 【find】:查看命令由哪个软件包安装;which 命令字 rpm -qf 命令的绝对路径;常用于:系统中没有对应指令且不知道由哪个软件包安装生成 -qc:查看已安装软件的配置文件;rpm -qc 软件名;一般情况下,使用rpm安装的应用程序的配置文件都存储在/etc/[应用程序的名称] -qd:查看已安装软件的帮助文档信息;rpm -qd 软件名
未安装软件包查看选项
-qpi:查看未安装的软件包开发信息;rpm -pqi 软件包名称(全格式) -qpl:查看未安装软件包的安装路径及生成文件;rpm -pql 软件包名称(全格式)
安装、升级、卸载选项
-i 【install】:安装软件包;rpm -ivh /path/软件包名称(全格式) -v:【verify】详细显示安装过程 -h:【human】人性化显示 -U:【update】升级软件包;rpm -Uvh 软件包名称 -e:【exclude】卸载已安装软件包; --nodeps:忽略依赖关系的进行卸载、升级或安装
特殊安装
#将所有相关软件包放到同一目录下 rpm -ivh *
3、yum(dnf)安装
可以自动解决依赖关系
-
yum相关配置文件
yum源配置文件
指定yum程序运行时查找软件包的存储路径
/etc/yum.repos.d
yum程序配置文件
yum程序运行时的运行配置
/etc/dnf/dnf.conf
缓存保存路径
/var/cache/dnf
-
yum源类型
本地yum源
利用本地存在的软件包路径
file://localPath(绝对路径)【路径下要包含“repodata(包含rpm包的元数据)”目录】
网络yum源
利用网络存储的软件包路径
http://域名/Path #不常用 https://域名/Path ftp://域名/Path #不常用
常见网络yum源
#网易yum源 #阿里云yum源 tee /etc/yum.repos.d/alicloud.repo << 'EOF' [alicloud-os] name=Alibaba Cloud OS baseurl=https://mirrors.aliyun.com/rockylinux/8/BaseOS/x86_64/os/ enabled=1 gpgcheck=0 gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-rockylinux [alicloud-appstream] name=Alibaba Cloud AppStream baseurl=https://mirrors.aliyun.com/rockylinux/8/AppStream/x86_64/os/ enabled=1 gpgcheck=0 gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-rockylinux EOF #epel源 yum -y install epel-release
常见开源镜像站
清华大学 https://mirrors.tuna.tsinghua.edu.cn/help/centos/ 网易开源镜像站 http://mirrors.16com/ 阿里云
-
配置本地yum源
cd /etc/yum.repos.d [root@localhost yum.repos.d]# rm -rf * vim local.repo [local] name=local #描述信息 baseurl=file:///mnt/AppStream # 指定软件包及其元数据存储路径 enabled=1 #是否使用该源,0表示不使用,1表示使用 gpgcheck=0 #(一般使用不验证的方式) [gpgcheck=1] gpgkey=keyPath ################################ yum clean all yum makecache mount /dev/sr0 /mnt
4、yum命令语法
yum [options] command [package ...]
-
子命令(command)
install [软件包名] [--downloadonly] #安装【只下载】 remove [软件包名] #卸载 list #查看yum源中的软件包列表 update [软件包名] #更新所有软件包 yum clean all #清空元数据缓存 yum makecache #生成元数据缓存
-
命令选项
-y:非交互
交互式安装:yum install 软件名
Is this ok? y 安装 n 不下载不安装
非交互式安装:yum -y install 软件名
1402

被折叠的 条评论
为什么被折叠?



