【网安基础之Linux系统Ⅲ】网络&服务&软件管理

一.网络配置与错误排除

1.网络常用配置文件

 /etc/hostname  

主机名等配置文件

 /etc/sysconfig/network-scripts/ifcfg-ensN

网卡N的配置文件

以上两个配置文件中的网关不一致时,ifcfg-ensN的优先

 /etc/sysconfig/static-routes

静态路由条目的存储文

/etc/sysconfig/network-scripts/route-ethN

               静态路由条目的存储文件

/etc/resolv.conf

DNS解析配置文件

/etc/hosts 

本机域名解析文件

2.网络地址配置

ifconfig 网络配置命令

不带任何参数

查看所有网卡的信息,同windows中的ipconfig

ifconfig ensN

 查看网卡N的信息

ifconfig ensN up/down,ifdown/ifup ensN

启用或者禁用网卡N

 ifconfig ensN 192.168.1.1 netmask 255.255.255.128      

为网卡N配置ip地址,但是重启 网络服务后,此配置将丢失,一般将配置写进ifcfg-ensN文件中

 ifcfg-ensN

•  路径:/etc/sysconfig/network-scripts/ifcfg-ensN

•  格式:分为动态获取和静态配置

动态获取IP地址(DHCP)

每次修改完网卡信息后需要重启网卡或者重启网络服务

静态配置网络地址

添加网卡

 可以复制ifcfg-eth0生成其它网卡的配置信息,然后修改DEVICE、HWADDR等信息,删除UUID

 一张“网卡N”以下三处的MAC地址需要一致

•  /etc/udev/rules.d/70-persistent-net.rules

•  ifconfig

•  ifcfg-ethN

网络服务

• systemctl status/stop/disable NetworkManager.service

用户桌面式网络管理(shell中强烈建 议关闭此服务)

• systemctl status/stop/start/restart network.service

查看状态、停止、启用、重启

3.网络状态监控

netstat 显示网络状态

•  -n或--numeric 直接使用IP地址,而不通过域名服务器

•  -t或--tcp 显示TCP传输协议的连线状况

•  -u或--udp 显示UDP传输协议的连线状况

•  -r 显示路由表,同route命令

•  -i 显示网络接口列表

•  -s 显示所有端口的统计信息

eg:

•  netstat -tunlp 显示系统开启的端口号

•  netstat -ap | grep ssh 找出程序运行的端口

 其它命令

•  ping、traceroute、nslookup、dig、host

状态说明

 LISTEN

侦听来自远方的TCP端口的连接请求

SYN-SENT

在发送连接请求后等待匹配的连接请求 (如果有大量这样的状态包,检查是否中招了)

SYN-RECEIVED

再收到和发送一个连接请求后等待对 方对连接请求的确认(如有大量此状态,估计被flood攻 击了)

ESTABLISHED

代表一个打开的连接

 FIN-WAIT-1

等待远程TCP连接中断请求,或先前的连 接中断请求的确认

 FIN-WAIT-2

从远程TCP等待连接中断请求

CLOSE-WAIT

等待从本地用户发来的连接中断请求

CLOSING

等待远程TCP对连接中断的确认

 LAST-ACK

等待原来的发向远程TCP的连接中断请求 的确认(不是什么好东西,此项出现,检查是否被攻击)

TIME-WAIT

等待足够的时间以确保远程TCP接收到连 接中断请求的确认

CLOSED

没有任何连接状态

二.服务管理

1.Linux运行级别

运行级别

含义

0

关机

1

单用户模式,可以想象为windows的安全模式,注意用于系统修复

2

不完全命令行模式,不包括NFS服务(网络服务)

3

完全命令行模式,标准字符界面

4

系统保留

5

图形模式

6

重启动

2.运行级别原理

查看运行级别用:   runlevel  //第一个数为之前运行级别,后一个数为当前运行级别

systemctl get-default //查看默认运行级别

设置默认运行级别:systemctl set-default multi-user.target  //修改运行等级为3

                                  systemctl set-default graphical.target   //修改运行等级为5

systemctl set-default multi-user.target  //修改运行等级为3(服务器)

systemctl set-default graphical.target   //修改运行等级为5(客户端)

设置完成后需要重启:init 6

切换运行级别:systemctl isolate multi-user.target / init 3  //在不重启系统情况下,将运行级别切换到3。

systemctl isolate graphical.target / init 5   //在不重启系统情况下,将运行级别切

换到5。

进init 0为关机,init 6为重启系统入其它运行级别用:init N

在文件/etc/inittab 中查看对应运行级别

3.服务管理及控制

systemctl 管理服务的命令

• systemctl status/stop/start/restart srv_name 管理服务srv_name的启停(临时)

   systemctl enable/disable srv_name  管理服务srv_name默认的启停(重启永久生效)

eg: systemctl stop firewalld.service 临时停止防火墙服务

• 也可以使用/etc/rc.d/init.d/gpm status方式管理,但是不推荐

• ntsysv 显示图形界面控制服务的启停

三.软件操作

1.软件安装形式

 源码

绝大多数开源软件都是以源代码形式发布的,源代码一般会被打包成tar.gz的归档压缩文件,程 序源代码需要编译成为二进制形式之后才能够运行使用。虽然源代码形式的软件使用起来较为 麻烦,但是兼容性及可控制性较好。

RPM

RPM(redhat Package Manager)是Linux下最流行的软件包管理工具,通过将源代码基于特定 平台系统编译为可执行文件,并保持依赖关系,来简化开源软件的安装管理。

YUM

RPM无法自动解决软件的依赖关系,使用YUM可以解决这个问题。(debian,ubuntu发行版采 用apt-get包管理工具)

YUM (yellowdog updater modified) 主要用于自动升级、安装/移除RPM软件包,它能够自动查 找并解决RPM包之间的依赖关系,而无需管理员逐个手工的去安装每一个RPM包

形式一:源码

• 源代码基本安装流程:

• ./configure            进行软件配置:开启功能、调整安装目录、工作目录

• make                    进行编译,make命令会根据当前软件开发时的语言,自动识别跟调用相应 的编译器,进行二进制编译

• make install          进行软件的安装(设置启动文件、移动执行文件)

• 实例:源码安装VMware Tools

安装VMware tools

1.检查镜像文件是否连接

2.点击重新安装VMware tools

3.使用cd /media 进入media目录下

4.使用 madir a  创建一个目录

5.使用 mount -t iso9660 /dev/cdrom /media/a 

6.进入a 目录下使用 ll 查看内容

7.如果没有内容重启 init 6

8.重启后使用mount

9.进入VMware路径下:/run/media/root/VMware Tools

10.VMwareTools-10.3.22-15902021.tar.gz复制到tmp目录下

11.VMwareTools-10.3.22-15902021.tar.gz解压缩解打包

tar zxvf VMwareTools-10.3.22-15902021.tar.gz

12.进入目录vmware-tools-distrib

13.使用  ./vmware-install.pl

形式二:RPM

• RPM软件包命名规范

•  name-version-release.arch.rpm

•  名字-版本号(主版本号.次版本号.修正号)-发布版本号(同样的源程序使用不同参数编译)-适用平 台.rpm

•  arch表示系统的发行版,如fc18、el6,表明这个软件包是在Fedora 18、RHEL 6.x / CentOS 6.x下使用 的;arch表示硬件平台,常见的有:i386、x86_64等等。

• RPM五大功能

安装

rpm -ivh name-version-release.arch.rpm          

保留旧版本,安装新版本(升级内核最好使用此方式)

  i表示install;v表示verbose,显示装的详细信息;h表示hash,显示安装进度百分比。

卸载

 rpm -e name

 注意:卸载时要注意软件包的依赖关系,并不是所有的软件包都能够轻松的卸载的,但也可以强制卸载 而忽略软件包的依赖关系,但是不推荐使用此方法,如:rpm -e --nodeps httpd

更新或者升级

  rpm -Fvh name-version-release.arch.rpm 

        删除旧版本,安装新版本(一般用于更新现有系统)

  rpm -Uvh name-version-release.arch.rpm 

       删除旧版本,安装新版本(一般用于升级应用程序)

验证

软件在传播的过程中可能会被恶意的修改,所以为了安全起见现代OS都加入了对软件的验证功能。验证一 般使用非对称加密算法,所以需要一个密钥,一般linux发行版都有自己的密钥,默认都已经加入。

 验证已安装的的软件有没有被修改过

rpm -V name

 验证rpm文件的完整性

rpm -K name-version-release.arch.rpm

查询

 #rpm -q name

查询是否安装了软件包NAME

 #rpm -qi name

查询已安装的软件包的详细信息

 #rpm -ql name

查询指定软件包包含的文件列表

  #rpm -qf file

查询指定文件属于哪个rpm包安装进来的

  #rpm -qa

查询所有已安装的rpm软件

 #rpm -qpi name-version-release.arch.rpm

查询rpm文件的信息

  #rpm -qpl name-version-release.arch.rpm

查询rpm文件包含的文件

形式三 :YUM

• 介绍

• 要成功使用YUM工具更新系统和软件,需要有一个包含各种RPM软件包的repository(软件仓 库),提供软件仓库的服务器习惯称为“源”服务器。软件仓库可以基于HTTP,FTP协议或 者本地文件目录提供服务,并收集目录中所有的RPM包的header(头部)信息组成repodata(仓 库数据),以供YUM客户端工具查询分析。

• Yum仓库分为本地yum和网络yum,本地yum是将rpm软件包放在本地主机上,而网络yum则 是将服务器上面的文件通过http或者ftp方式下载到本地,然后进行安装。

• 配置YUM客户端

• 在/etc/yum.repos.d目录下新建一个YUM仓库配置文件(.repo文件),在该文件内添加一条 配置信息。

• 注:一个配置文件内可以保存多个仓库的配置信息,一条仓库配置信息的格式如下: [repo-name]

name = This is repository’s description baseurl = file://rpm-directory enabled = 1

gpgcheck = 1

• 其中,baseurl规定了仓库所在位置,可以是本地路径(file://),也可以是网络地址(http:// or ftp://)。

YUM命令

安装软件

yum install package-name

 删除软件

yum remove package-name

升级软件

yum update package-name

基于关键字搜索软件

yum search 关键字

列出所有的软件包(包括yum仓库中提供的和已安装的)

yum list all

列出YUM仓库中提供的 / 可以更新的软件包

yum list available / updates

列出系统中已安装的软件包

yum list installed

显示软件包信息

yum info packagename(等于rpm -qi)

 查询目标文件被包含在哪个软件包中

yum whatprovides filename

查看程序package依赖情况

yum deplist package

YUM缓存

yum会把下载的软件包和header存储在cache中(位于/var/cache/yum目录),而不会自动删除,如果我们 觉得它们占用了磁盘空间,可以使用yum clean指令进行清除。

清除header

yum clean headers

清除下载的rpm包

yum clean packages

通通清除

yum clean all

• RHEL使用CentOS的镜像源

• 删除RHEL原有yum

rpm -aq | grep yum | xargs rpm -e --nodeps     //查询yum软件是否安装(rpm -aq是查询所有的已安装软件,grep是关键字匹配指令,配合管道符,用于查找系统中所安装的yum软件),xargs指令用于将管道或标准输入(stdin)数据转换成命令行参数(也就是将前面获取的yum的信息提取并传递给下一条指令),rpm -e指令是删除指令,--nodeps就是不检查依赖关系

• 导入key

wget http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

rpm --import RPM-GPG-KEY-CentOS-7

• 下载yum包(使用CentOS源),使用rpm安装,最后两个需要同时安装

wget http://mirror.centos.org/centos-7/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm

wget http://mirror.centos.org/centos-7/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm

wget http://mirror.centos.org/centos-7/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-52.el7.noarch.rpm

wget http://mirror.centos.org/centos-7/7/os/x86_64/Packages/yum-3.4.3-163.el7.centos.noarch.rpm

• 配置yum源(使用网易的CentOS镜像源)

下载:wget  http://mirrors.163.com/.help/CentOS7-Base-163.repo 复制:cp CentOS6-Base-163.repo /etc/yum.repos.d

替换:将$releasever全部替换为版本号7,vi中”:% s/$releasever/7/g” 缓存:yum clean all(清理); yum makecache(缓存到本地)

实例:安装yum

1.删除RHEL原有yum

  rpm -aq | grep yum | xargs rpm -e --nodeps

2.导入key

  wget http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

  rpm --import RPM-GPG-KEY-CentOS-7

3.下载yum包(使用CentOS源),使用rpm安装,最后两个需要同时安装

  wget http://mirror.centos.org/centos-7/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm

  wget http://mirror.centos.org/centos-7/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm

  wget http://mirror.centos.org/centos-7/7/os/x86_64/Packages/yum-plugin-filter-data-1.1.31-54.el7_8.noarch.rpm

  wget http://mirror.centos.org/centos-7/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm

4.通过rpm安装yum.

  rpm -ivh python-iniparse-0.4-9.el7.noarch.rpm

  rpm -ivh yum-metadata-parser-1.1.4-10.el7.x86_64.rpm

  rpm -ivh yum-plugin-filter-data-1.1.31-54.el7_8.noarch.rpm  yum-3.4.3-168.el7.centos.noarch.rpm --nodeps

5.配置yum源(使用网易的CentOS镜像源)

下载:wget  http://mirrors.163.com/.help/CentOS7-Base-163.repo

复制:cp CentOS7-Base-163.repo /etc/yum.repos.d

vi /etc/yum.repos.d/CentOS7-Base-163.repo

替换:将$releasever全部替换为版本号7vi”:% s/$releasever/7/g

6.缓存:yum clean all(清理);yum makecache(缓存到本地)

[root@xxxxxxxx tmp]# yum clean all

[root@xxxxxxxx tmp]# yum makecache

 示例

安装软件包,使得可以提供whois命令

 yum search whois

 查询是否有包含whois关键字的安装包

 yum whatprovides/provides */whois

查询什么安装包可以提供命令whois

 yum info jwhois

查看安装包信息

 yum deplist jwhois

查看安装包依赖包

 yum install jwhois

 安装

安装whois

1.Yum whois

2.Yum install whois.x86_64 -y (全选yes)

[root@xxxxxxxx tmp]# yum install whois.x86_64 -y

3.使用whois

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值