【网安学习二阶段】day03 - Linux基础及部分网络命令

一、文件和文件夹属性(重点)

1.查看目录和文件属性(ls -al)

[root@localhost ~]# ls -al
总用量 44
dr-xr-x---.  3 root root  192 9月  12 15:34 .
dr-xr-xr-x. 17 root root  224 9月  12 10:10 ..
-rw-r--r--   1 root root   79 9月  12 10:52 1.txt
-rw-------.  1 root root 1259 9月  11 23:04 anaconda-ks.cfg
--------------------------------
文件属性   层级 属主  属组  大小  月 日 时间 文件名

文件属性:dr-xr-x---.

  • d:表示文件夹,l(连接类型);-(普通文件);c(字符读取设备);b(block块读取设备);s(socket)网络通信
  • r-xr-x---:
    • r-x:文件属主的权限
    • r-x:文件属组的权限,该文件属于哪个用户组
    • —:文件其他用户的权限
  • .:和selinux相关,暂不考虑

2.设置文件权限 (chmod)

设置权限时,添加 -R 进行递归赋权

重点:chmod ugoa

ugoa:

  • u表示user,表示属主,配置该文件所属用户的权限
  • g表示group,表示属组。配置该文件的所属用户组的权限
  • o表示other,表示其他,配置该文件其他用户的权限
  • a表示all,表示所有,同时配置上面3个类型的权限

+\-=

  • +:表示加权限
  • -:表示减权限
  • =:表示直接配置于这个权限

示例:

  • u+x : 表示给属主配置执行权
  • u-rw : 表示给属主去掉阅读和读写权限
  • chmod u+x,o+r /1.txt 通知配多个权限

使用数字快速配置权限

谨慎使用777全权限

执行
rwx
421

示例:chmod 777 /1.txt 配置所有权限

666:rw-rw-rw-

000:— — — 表示都无权限

356:-wx r-x rw-

651:rw- r-x --x

数字分别是属主、属组、其他用户的权限

3. 进制运算

十进制:   123
二进制:   0b 00011 1 1011
四进制:   1323
八进制:    0o173   每3位二进制换算位1位8进制
十六进制:  0x7b    每4位二进制换算位1位16进制
三十二进制:3r

问题?

为什么3位换1位8进制?8进制 0~7 000~111

为什么4位换1位16进制?16进制 0 ~15 0000 ~ 1111

4.文件归属

  • chown

    chown zhangsan:root 1.txt

    前面属主,后面属组

    更改用户的所拥有者

二、网络配置

1.网络套装工具

1.1 IProute2套装工具

系统自带安装,ip addr | ip addr add ip/24 dev ens33、

ip route | ip route add ip/24 via 192.168.80.2

1.2 net-tools工具包(重点)

yum -y install net-tools

目前的linux虚拟机是最小化安装,不会自带vim,net-tools。

工具包包含的命令:

/bin/netstat
/sbin/arp
/sbin/ether-wake
/sbin/ifconfig
/sbin/ipmaddr
/sbin/iptunnel
/sbin/mii-diag
/sbin/mii-tool
/sbin/nameif
/sbin/plipconfig
/sbin/route
/sbin/slattach

iproute2套装工具命令net-tools套装工具命令说明
ip addrifconfig查看网卡信息,IPMAC
ip neigharp查看arp缓存
ip -s linkifconfig -s查看查看网卡收发数据包的大小(RX:收、TX:发)
ip addr add 192.168.100.100/24 dev ens33ifconfig add ens33 192.168.100.100/24ens33网卡添加一个临时的IP地址
ip addr del 192.168.100.100/24 dev ens33ifconfig del ens33 192.168.100.100/24ens33网卡删除一个IP地址
ip routeroute -n
netstat -r
查看路由表
ip route add 192.168.30.0/24 via 192.168.188.2route add -net 192.168.50.0/24 gw 192.168.188.5添加路由条目
ip route del 192.168.30.0/24 via 192.168.188.2route del -net 192.168.50.0/24 gw 192.168.188.5删除路由条目
route add default gw 192.168.188.2添加默认路由
netstat -anpta:all n:number p:processid t: tcp

2.网络相关命令(重点,常用)

2.1查看白盒测试网络
  • ifconfig 查看已启用的网卡; ip addr 可以查看到未启动的网卡。

启动网卡可以使用

ifup ens33

ifconfig up ens36

[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.88.132  netmask 255.255.255.0  broadcast 192.168.88.255
        inet6 fe80::ec4f:8b6b:990a:483d  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f5:1a:c2  txqueuelen 1000  (Ethernet)
        RX packets 144242  bytes 185322556 (176.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 21602  bytes 2490131 (2.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 4  bytes 348 (348.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4  bytes 348 (348.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33:第一块网卡的名字,en是Ethernet,s表示热拔插吗,33表示插槽编号,后面添加第二张网卡,一般是36

lo:loopback,本地回环网卡,localhost,127.0.0.1

  • hostname 主机名字
hostname   查看主机名字
hostname abc  修改主机名字
都是临时的,重启失效
  • netstat 查看网络连接情况(重要)

  • [root@localhost ~]# netstat -anpt
    -a:显示当前主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)。
    -n:以数字的形式显示相关的主机地址、端口等信息。
    -r:显示路由表信息。
    -l:显示处于监听(Listening)状态的网络连接及端口信息。
    -t:查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息。
    -u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息。
    -p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)。
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name            
    tcp        0     36 192.168.119.136:22      192.168.119.1:55917     ESTABLISHED 7380/sshd: root@pts 
    tcp6       0      0 :::22                   :::*                    LISTEN      7097/sshd           
    tcp6       0      0 ::1:25                  :::*                    LISTEN      7252/master   
    
  • ping

  • traceroute:windows是tracert

  • nslookup:系统不自带,需要安装band-utils

3.上下线网卡

上线网卡,禁用网卡设备
ifconfig ens37 down   |  ifdown ens37(此命令禁用设备不会显示down,但是同样不能获取到ip)
上线网卡
ifconfig ens37 up   | ifup ens37  (ifup必须确保 有ifcfg-ens37配置文件,没有配置文件会报错。)

在这里插入图片描述

4.永久修改hostname

修改/etc/hostname文件

5.修改网卡配置为静态IP

修改/etc/sysconfig/network

修改BOOTPROTO为ststic

添加IPADDR=

添加NETMASK=

添加GATEWAY=

//网关地址->虚拟机设置里面

添加DNS1=

添加DNS2=

修改网卡参数,重启服务

systemctl restart network (centos7以后)

service network restart (cnetos6)但是底层还是systemctl

网关来源:
在这里插入图片描述

6.修改DNS解析

修改 /etc/resolv.conf
在这里插入图片描述
在这里插入图片描述

7.请求网络任务

下面的命令 -O 参数均为保存文件

  • curl:利用url地址,进行文件传输,抓取网页内容,允许通过curl下载文件,默认下载文件是html

    同时,iptable也会使用curl来测试网络连通情况

    在这里插入图片描述

  • wget:下载工具,和curl差不多,linux常用下载工具,下载镜像源

    wget -O /home/1.txt http://地址

三、进程管理(必懂)

1.进程管理

  • ps命令:统计静态进程

    a:显示当前终端下所有进程信息,包括其他用户的进程。
    u:使用以用户为主的格式输出信息。
    x:显示当前用户所在终端下所有的进程。
    -e:显示所有程序
    -l:采用详细的格式来显示程序状况
    -f:显示UID,PPIP,C与STIME栏位
    
    

    常规:ps aux 或ps -ef

    USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root          1  0.0  0.3 125332  3776 ?        Ss   03:34   0:00 /usr/lib/systemd/systemd --switched-root --system --deseri
    
    

​ user:用户,谁启动就是谁

PID:process id 程序id

​ %CPU:cpu占用

​ %MEM:磁盘占用

​ VSZ:占用的虚拟内存空间swap(物理磁盘借用的虚拟空间)

​ RSS:常驻内存空间,正常内存占用大小

TTY:表示进程是运行在哪一个终端。pts/0表示运行在pts端(远程)

STAT:显示进程状态,S(sleep休眠),R(run运行),Z(僵尸进程),<(高优先级),N(低优先级),+(前台运行),s(父进程)

COMMAND:启动进程的名字、命令

  • top:网安必备,每3s刷新一次。类似于win任务管理器

    [root@localhost ~]# top
    top - 22:59:55 up 23:20,  3 users,  load average: 0.00, 0.01, 
    Tasks: 112 total,   1 running, 111 sleeping,   0 stopped,   0 
    %Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,
    KiB Mem :   995896 total,   132808 free,   114000 used,   7490
    KiB Swap:  2097148 total,  2097148 free,        0 used.   6884
    
       PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM 
         1 root      20   0  125332   3772   2564 S  0.0  0.4 
    
    • load average: 分别为1、5、15分钟cpu的进程
  • uptime,显示当前cpu的负载情况

    [root@localhost ~]# uptime
     23:01:00 up 23:21,  3 users,  load average: 0.00, 0.01, 0.05
    
  • pgrep:查询相关信息的进程PID

  • kill -9 PID 杀死进程

    但公司不推荐kill -9 ,推荐systemctl stop server任务。

    # 下面是常用的信号。
    # 只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。
    
    HUP     1    终端挂断
    INT     2    中断(同 Ctrl + C)
    QUIT    3    退出(同 Ctrl + \)
    KILL    9    强制终止
    TERM   15    终止
    CONT   18    继续(与STOP相反,fg/bg命令)
    STOP   19    暂停(同 Ctrl + Z)
    

2.控制进程

进程的启动方式一般是前台启动和后台启动

  • 前台启动:如cmd启动程序之后必须保持cmd窗口常驻

  • 后台启动:表示使用server启动之后,无cmd端口

    • linux在命令行后面添加&,就表示后台运行
    ping 127.1 >> ./ping.txt &
    将输出重定向到指定文件
    
    • 好处:正常不会占用前台的bash光标,可以在前台操作其他命令

    ctrl+c 退出bash环境运行的前台程序

    ctrl+z 暂停bash环境运行的前台进程

  • 查看暂停进程

    • ping 127.1
    • ctrl+z
    • 使用jobs查看被暂停的进程
    • 使用fg 编号复工到前台进程
    • 使用bg 编号后台运行进程

    因为使用暂停进程之后,就会移动进程到后台

  • pkill:根据输入的进程名或用户名进行批量终止

    pkill -U 用户名

    直接杀死该用户下的所有进程。

    一种防御手段,可以批量杀死某个程序用户所创建的病毒脚本

    -t 根据某个终端来干掉进程

    如:pkill -9 -t pst/2

四、软件安装(常识)

1.linux应用程序的组成

  • 普通的可执行文件:存在/usr/bin目录下,普通用户都可以执行
  • 服务器程序、管理程序:/usr/sbin,需要管理员权限
  • 配置文件:/etc里面
  • 日志文件:/var/log;
  • 应用的参考文件:/usr/share/doc;
  • man手册:保存在/usr/share/doc/man里面

2.软件包的封装类型

  • RPM 软件包:这种软件包文件的扩展名为“.rpm”,只能在使用 RPM(RPM Package Manager,RPM 软件包管理器)机制的 Linux 操作系统中安装,如 RHEL、Fedora、CentOS 等。RPM 软件包一般针对特定版本的操作系统量身定制,因此依赖性较强。安装 RPM 软件包需要使用操作系统中的 rpm 命令。
  • DEB软件包:这种软件包文件的扩展名为“.deb”,只能在使用DPKG(Debian Package,Debian 包管理器)机制的 Linux 操作系统中进行安装,如 Debian、Ubuntu 等。安装 DEB 软件包需要使用操作系统中的 dpkg 命令。
  • 源代码软件包:这种软件包是程序员开发完成的原始代码,一般被制作成“.tar.gz”或“.tar.bz2”等格式的压缩包文件,因多数使用 tar 命令打包而成,所以经常被称为“TarBall”。安装源代码软件包需要使用相应的编译工具,如 Linux 中的 C语言编译器 gcc。因此,在安装操作系统的时候尽量勾选“开发工具”一项来安装基本的编译环境。make 来进行编译安装。
  • 附带安装程序的软件包:这种软件包的扩展名不一,但仍以 TarBall 格式的居多。软件包中会提供用于安装的可执行程序或脚本文件,如 install.sh、setup 等,有时候会以“.bin”格式的单个安装文件形式出现。安装时只需运行安装文件就可以根据向导程序的提示完成安装操作。

3.RPM包管理器

RPM 软件包管理机制最早由 Red Hat 公司提出,后来随着版本的升级逐渐融入更多的优秀 特 性 , 成 为 众 多 Linux 发 行 版 中 公 认 的 软 件 包 管 理 标 准 。 在 其 官 方 站 点http://www.rpm.org 中,可以了解到关于 RPM 包管理机制的详细资料。

3.1常用操作

rpm -qa   列出系统中安装的软件列表
rpm -qi xx 列出指定软件包的版本,作用等信息 -qi->info
rpm -ql xx  列出指定文件所安装的所有目录和信息 -ql->list
rm -qf xx   查询指定文件或目录是由哪个软件所安装的 -qf->file
  • qa查询
    在这里插入图片描述

  • qi查询软件包信息在这里插入图片描述

  • ql查询目标软件目录
    在这里插入图片描述

  • qf查询目标文件夹对应应用

更多用法:

rpm -qf `which 程序名`    #返回软件包的全名
rpm -qif `which 程序名`   #返回软件包的有关信息
rpm -qlf `which 程序名`   #返回软件包的文件列表

3.2安装升级卸载RPM软件包

-i:在当前系统中安装(Install)一个新的 RPM 软件包。
-e:卸载指定名称的软件包。
-U:检查并升级系统中的某个软件包,若该软件包原来并未安装,则等同于“-i”选项。
-F:检查并更新系统中的某个软件包,若该软件包原来并未安装,则放弃安装。
-h:在安装或升级软件包的过程中,以“#”号显示安装进度。
-v:显示软件安装过程中的详细信息。
--force:强制安装某个软件包,当需要替换已安装的软件包及文件,或者安装一
个比当前使用的软件版本更旧的软件时,可以使用此选项。
--nodeps:在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系。

安装升级: -ivh 我们会上传mysql_xxxx.rpm软件包文件,手动去安装这个文件。

#安装
[root@localhost ~]# rpm -ivh /mnt/Packages/net-tools-2.0-0.25.20131004git.el7.x86_64.rpm
[root@localhost ~]# rpm -Uvh /mnt/Packages/net-tools-2.0-0.25.20131004git.el7.x86_64.rpm
#更新,软件包必须已经安装才可更新
[root@localhost ~]# rpm -Fvh /mnt/Packages/net-tools-2.0-0.25.20131004git.el7.x86_64.rpm

卸载 -e

#卸载net-tools

4.yum安装软件

  • 查询软件包

    yum list  [软件名]...
    yum info  [软件名]...
    yum search  <关键词>...
    
  • 查询软件包组

    yum grouplist  <包组名>...
    yum groupinfo  <包组名>...
    
  • 安装软件(可以使用 -y 选项表示不提醒)

    yum install  <软件名>...
    yum groupinstall  <包组名>...
    
  • 升级软件(可以使用 -y 选项表示不提醒)

    yum update <软件名>...
    yum groupupdate <包组名>...
    
  • 卸载软件(可以使用 -y 选项表示不提醒)

    • 自动删除软件和对应的组件

      yum autoremove <软件名>…

yum remove <软件名>…
yum groupremove <包组名>…


- 生成缓存和

yum makecache #生成缓存 提高效率
yum clean all #清空缓存




5.yum源

> 大概就是有一个统一的下载服务器,相当于各大市场应用商店,软件也不一定是统一,也不一定保证速度

>/etc/yum.repos.d/目录是yum源配置的目录,同时rpm很多包很小,里面只有一个rpm源地址



6.如何配置国内yum源




## 五、防火墙(重点)

iptables和firewall

> 系统默认使用firewall,所以先关闭firewall
>
> systemctl stop firewalld
>
> systemctl disable firewalld



> 安装iptables
>
> yum install iptables-services iptables
>
> 启动iptables
>
> systemctl start iptables
>
> 开启iptables开启自启动
>
> systemctl enable iptables
>
> 查看规则
>
> iptables -nL

查询服务状态

systemctl status iptables



以列表形式列出所有规则(ip和端口)->出现这个表示iptables真的启动成功
![在这里插入图片描述](https://img-blog.csdnimg.cn/c4484c13a30c4ae88890102bbf80609a.png)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值