专栏首页菜鸟小白的学习分享我们一起学一学渗透测试——黑客应该掌握的Linux基础

我们一起学一学渗透测试——黑客应该掌握的Linux基础

上一篇我们学习了Windows基础,今天我们来看一看作为一名渗透测试工程师都需要掌握哪些Linux知识。今天的笔记一共分为如下三个部分:

  1. Linux系统的介绍
  2. Linux系统目录结构、常用命令
  3. Linux系统网络配置

Linux系统的介绍

Linux的定义:

是由众多程序员通过Internet协作开发的开源(open source)系统,可以运行在PC机上的操作系统,风格和Unix类似。

Linux的系统结构:

Linux操作系统由内核应用程序组成,不同的厂商根据各自的需要将各种应用软件和Linux内核一起打包形成一个Linux发行版本(distribution)。

常见的发行版本:

  • RedHat:面向商业市场的Linux发行版,有服务器版本,支持众多处理器架构,包括x86和x86_64。
  • Centos:一款企业级Linux发行版,使用红帽企业级Linux中的免费源代码重新构建而成
  • OpenSuSe:免费的Linux版本,自带Yast软件管理工具
  • Kali:Debian的衍生版,Kali旨在用于渗透测试,随带许多渗透测试工具。
  • Ubuntu:Debian的衍生版,一款深受市场欢迎的免费操作系统,在服务器、云计算,甚至是移动设备上都很常见。
  • Debian:运行极其稳定,非常适合用于服务器
  • Gentoo:系统包含众多软件包,Gentoo并非以预编译的形式出现,而是每次需要针对每个系统进行编译,适合学习Linux,了解Linux操作系统的内部运作原理
  • Linpus:
  • Mandrake:
  • Caldera:
  • Turbolinux:

Linux的内核版本号:

由Linux内核项目团体统一进行发布,XX.YY.ZZ。其中“XX”代表了主版本号,“YY”代表了次版本号,若为奇数则表示为开发版本,为偶数则是稳定版本。

Linux下磁盘分区表示:

Linux中将硬盘 、分区等设备均表示为文件。

举例:“/dev/hda5”

  • 其中“/dev”代表硬件设备文件所在的目录;
  • 后面的“hd”表示磁盘类型,“hd”表示IDE设备,“sd”表示SCSI设备;
  • 后面的“a”表示磁盘顺序号,以字母a、b、c……表示;
  • 最后的数字表示分区的顺序号,以数字1、2、3……来表示,其中主分区是1-4,最多四个主分区,逻辑分区从5开始表示。

文件系统类型

  • Linux中默认使用的文件类型:
    • EXT3,第三代扩展(Extended)文件系统
    • SWAP,交换文件系统L
  • inux支持的其它文件类型:
    • FAT16、FAT32、NTFS
    • XFS、JFS
    • ……

Linux的目录结构和常用命令

Linux的目录结构

  • bin:普通用户和管理用户可以执行的命令
  • sbin:管理员用户才能执行的命令
  • dev:硬件设备文件所在的目录
  • boot:系统的配置文件、引导配置文件
  • etc:系统和应用服务的配置文件
  • home:普通用户的家目录,相当于Windows中的users
  • lib:库目录
  • media:挂载光盘和u盘等一些外部介质的目录
  • mnt:和media类似
  • opt:用来安装软件程序的目录
  • proc:随着开机生成的一些进程信息、配置信息啥的
  • root:root用户的家目录
  • selinux:对程序进行控制的安全性保证目录
  • srv:
  • sys:存放系统的目录
  • tmp:
  • usr:也是装软件的目录
  • var:日志目录或者网站的根目录都在这个下面

Linux的常用命令

Linux命令:

用于实现某一类功能的指令或程序,命令的执行依赖于解释器程序(例如:/bin/bash)

Linux命令的分类:

内部命令:属于shell解释器的一部分

外部命令:独立于shell解释器之外的程序文件

Linux命令的通用命令格式:

  • 命令字 【选项】 【参数】
  • 选项及参数的含义
    • 选项:用于调节命令的具体功能。
      • 以“-”引导短格式选项(单个字符),例如“-l”;
      • 以“--”引导长格式选项(多个字符),例如“--help”;
      • 多个短格式选项可以写在一起,例如“-al”
    • 参数:命令操作的对象,例如文件、目录名等

命令行编辑的几个辅助操作:

  • Tab键:自动补齐
  • 反斜杠“\”:强制换行
  • 快捷键Ctrl+U:清空至行首
  • 快捷键Ctrl+K:清空至行尾
  • 快捷键Ctrl+L:清屏
  • 快捷键Ctrl+C:取消本次命令编辑

获得命令帮助

  • 内部命令help:查看bash内部命令的帮助信息
  • 命令“--help”选项:适用于大多数外部命令
  • man工具:安装man工具后使用man命令进行查询

查看内核信息——uname

  • 查看系统相关信息
  • 常用的命令选项
    • -a:显示主机名、内核版本、硬件平台等详细信息
    • -r:显示内核版本

查看系统主机名——hostname

查看主机的完整名称,包含主机名称、所在域的名称

查看系统IP信息——ifconfig

查看系统所有网卡的IP地址、mac地址等等

查看系统CPU信息

cat /proc/cpuinfo

查看内存信息

cat /proc/meminfo

关机及重启操作

关机操作——shutdown -h now、poweroff、halt

重启操作——shutdown -r now、reboot

查看及切换目录

查看当前目录路径——pwd(Print Working Directory)

切换工作目录——cd(Change Directory)

目录操作命令——ls

  • 列表显示目录下的内容
  • 常用命令选项:
    • -l:以长格式显示
    • -a:显示所有子目录和文件的信息,包括隐藏文件
    • -A:类似于“-a”,但不显示“.”和“..”目录的信息
    • -d:显示目录本身的属性
    • -h:以更易读的字节单位(K、M等)显示信息
    • -R:递归显示内容
    • --color:以颜色区分不同类型文件

目录操作命令——du

  • 统计目录及文件的空间占用情况
  • 常用命令选项:
    • -a:统计时包括所有的文件,而不仅仅只统计目录
    • -h:以更易读的字节单位(K、M等)显示信息
    • -s:只统计每个参数所占用空间总的大小

创建目录命令——mkdir

创建新的目录(Make Directory)

创建文件命令——touch

新建空文件,或更新文件时间标记

格式:touch 文件名

创建连接文件——ln

  • 为文件或者目录建立链接(Link)
  • 格式:ln [-s] 源文件或目录 链接文件或目标目录
  • 常用命令选项:
    • -s:建立符号链接文件(省略此项则建立硬链接)

复制文件或目录——cp

  • 复制文件或目录
  • 常用命令选项:
    • -r:递归复制整个目录树
    • -p:保持原文件的属性不变
    • -f:强制覆盖目标同名文件或目录
    • -i:需要覆盖文件或目录时进行提醒

删除文件或目录——rm

  • 常用命令选项:
    • -f:强制删除文件或目录,不进行提醒
    • -i:删除文件或目录时提醒用户确认
    • -r:递归删除整个目录树

移动目录或文件——mv

如果目标位置与源位置相同,则相当于改名

格式:mv [选项] 源文件或目录 目标文件或目录

查找文件或目录——find

  • 格式:find [查找范围] [查找条件]
  • 常用查询条件:
    • -name:按文件名称查找
    • -size:按文件大小查找
    • -user:按文件属主查找
    • -type:按文件类型查找

文件编辑——vi

  • vi是一个较大的unix命令,在启动的时候也有它自己的选项和参数
  • 基本语法:vi [-options] [+[n]] [file]
  • 常用的选项:
    • -r:用于恢复系统突然崩溃时正在编辑的文件
    • -R:用于以只读方式打开文件
    • +n:用来指明进入vi后直接位于文件的第n行,如果不指定n,则位于第一行
  • 文本插入:
    • 在命令行模式下使用某些命令会导致vi马上进入文件插入模式,这些命令包含:
      • i(在光标钱插入文本)
      • I(在本行开始插入文件)
      • a(在光标后附件文本)
      • A(在本行行末附件文本)
      • o(在光标下插入新行)
      • O(在光标上插入新行)
  • 搜索和替换
    • /string:向前搜索指定字符串,搜索时忽略大小写:set ic
    • n:搜索指定字符串的下一个出现位置
    • :%s/old/new/g:全文范围内替换指定字符串
    • :n1,n2s/old/new/g:在一定范围内替换指定字符串
  • 命令模式下:
    • dd:删除光标所在行,若数字n+dd则表示删除光标所在行及往下的n-1行
    • u:取消上一命令
    • .:重复上一命令
  • 底行模式下:
    • w:保存
    • q:退出
    • !:强制操作

cat命令:

显示出文件的全部内容

-n:给输出的所有行加上编号

cat 1 2 > 3:合并文件

统计文件中的单词数量 字节——wc

  • 常用选项:
    • -l:统计行数
    • -w:统计单词数
    • -c:统计字符数
    • 默认显示所有的

查看历史命令——history

压缩命令——gzip、bzip2

  • 只针对单个文件压缩
  • 常用选项:
    • -9:显示高压缩比
    • -d:释放压缩文件
  • 使用方式:
    • gzip 文件名 压缩文件, 格式为后缀有.gz
    • bzip2 文件名 压缩成的文件名, 格式为后缀有.bz2 它相对于gzip压缩率更高

归档命令——tar

  • 举例:
    • tar -tvf 4.tar -r:追加tar文件至归档结尾
    • tar -rvf 4.tar 5:把5追加入4.tar
  • 常用选项:
    • -c:创建归档文件,扩展名为tar
    • -x:输出详细信息
    • -f:表示使用归档文件
    • -x:解开归档文件
    • -t:列表查看包内的文件(不释放解包)
    • -p:解包是保留原始文件及目录的权限
    • -C:解包是指定释放的目标文件夹
    • -z:调用gzip程序,进行解压或者压缩
    • -j:调用bzip2程序,进行解压或者压缩
  • 压缩归档使用方式:
    • tar -cvzf test.tar.gz 被压缩的文件1 被压缩的文件2:创建归档压缩文件的后缀为gz
    • tar -cvjf test.tar.bz2 被压缩的文件1 被压缩的文件2:创建归档压缩文件的后缀为bz2
  • 解压和解除归档使用方式:
    • tar -xvzf test.tar.gz -C /usr/src:解压释放归档到/usr/src
    • tar -xvzf test.tar.bz2 -C /usr/src:解压释放归档到/usr/src

安装、升级、卸载rpm软件包

  • 安装或升级rpm软件
    • 格式:rpm [选项] rpm包文件
    • 用法:不同选项适用于不同情况
      • -i:安装一个新的rpm软件包
      • -U:升级某个rpm软件,若原本未装,则进行安装
      • -F:更新某个rpm软件,若原本未装,则放弃安装
  • 卸载指定的rpm软件
    • 格式:rpm -e 软件名
  • 查看安装的软件
    • 格式:rpm -aq [软件名]

编译安装过程

  • 下载源代码安装包文件有如下步骤:
    • tar 解包,解压并释放源代码包到指定目录
    • ./configgure 配置,设置安装目录、安装模块等选项
    • make 编译,生成可执行的二进制文件
    • make install 安装,复制二进制文件到系统,配置应用环境

添加用户账号——useradd

  • 格式:useradd [选项] 用户名
  • 常用命令选项:
    • -u:指定UID标记号
    • -d:指定宿主目录,缺省为“/home/用户名”
    • -e:指定账号失效时间
    • -g:指定用户的基本组名(或UID号)
    • -G:指定用户的附件组名(或GID号)
    • -M:不为用户建立并初始化宿主目录
    • -S:指定用户的登录shell

删除用户账号——userdel

  • 格式:userdel [-r] 用户名
  • 添加-r选项是,表示连用户的宿主目录一并删除

Linux系统的网络配置

查看网络接口信息——ifconfig

查看所有活动网络接口的信息——ifconfig

查看指定网络接口信息——ifconfig 网络接口名

网卡类型

eth0:以太网

lo:(虚拟)回环设备

ppp0:使用PPP协议的串口设备(通常指调制解调器)

tr0:令牌环(Token Ring)

fddi0:光纤

查看路由——route

格式:route [-n]

查看网络连接情况——netstat

查看系统的网络连接状态、路由表、接口统计等信息

常用选项:

  • -a:显示所有活动连接
  • -n:以数字形式显示
  • -p:显示进程信息
  • -t:查看TCP协议相关信息
  • -u:查看UDP协议相关信息
  • -r:显示路由表信息

设置路由——route

  • 删除路由表中的默认网关记录
    • 格式:route del default gw IP地址
  • 向路由表中添加默认网关记录
    • 格式:route add default gw IP地址
  • 添加到指定网段的路由记录
    • 格式:route add -net 网段地址/掩码位数 gw IP地址
  • 删除到指定网段的路由记录
    • 格式:route del -net 网段地址/掩码位数 gw IP地址

网络接口配置文件

  • /etc/sysconfig/network-scripts/目录下的
    • ifcfg-eth0:第一块以太网卡的配置文件
    • ifcfg-eth1:第二块以太网卡的配置文件
    • ……

启用、禁用网络接口配置

  • network网络服务的重启、禁用、启用和查询状态
    • service network restart:重启
    • service network stop:禁用
    • service network start:启用
    • service network status:查询状态
  • 禁用、启用网络接口
    • ifdown eth0
    • ifup eth0

域名解析配置文件

/etc/resolv.conf:保存了本季需要使用的DNS服务器的IP地址

添加方式:nameserver ip地址

好了,今天内容分享就到这了,如果你也觉得菜鸟小白的分享给你有帮助的话,给我点击一个点赞、在看+关注呗。

本文分享自微信公众号 - 菜鸟小白的学习分享(cainiao-xiaobai),作者:菜鸟小白的学习分享

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-07-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 媳妇儿喜欢玩某音中的动漫特效,那我就用python做一个图片转化软件。

    最近某音上的动漫特效特别火,很多人都玩着动漫肖像,我媳妇儿也不例外。看着她这么喜欢这个特效,我决定做一个图片处理工具,这样媳妇儿的动漫头像就有着落了。

    菜鸟小白的学习分享
  • 谁能告诉我如何通过Jenkins完成分布式环境搭建并执行自动化脚本

    今天我们接着昨天的内容,看一看如何完成Jenkins分布式环境的搭建和使用,因为我之前也是自己一个人摸索的,如果有不对的地方,请各位看官私信指出。

    菜鸟小白的学习分享
  • MySQL数据库安装

    首先我们需要登录MySQL官网https://downloads.mysql.com/archives/installer/,下载一个MySQL5.7的...

    菜鸟小白的学习分享
  • 《微信小程序七日谈》- 第六天:小程序devtool隐藏的秘密

    《微信小程序七日谈》系列文章: 本系列的文章并非初学教程,而是笔者在具体开发过程中遇到的问题以及部分解决方案。 笔者参与的小程序项目开发也进入尾声了,坑也踩得...

    寒月十八
  • Linux系统基础知识

    Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间,以MINIX为模版)芬兰大学生 auther:Linus Torvalds,在B...

    WeiyiGeek
  • LINUX常用命令

    修改密码: passwd 查看当前目录下的文件 ls 查看当前用户信息 whoami *可以匹配0个或任意多个字符 ?可以匹配1个字符 cat filename...

    用户1624346
  • Linux入门

      Linux目录结构,可以看成是一种树形结构。其中最顶端使用 “/”表示,称为根目录。由于Linux是开放源代码的,不同的公司会根据Linux的核心代码进行修...

    用户6641876
  • 使用adb连接Mumu模拟器

    3)找到mumu安装目录下的MuMu\emulator\nemu\vmonitor\bin目录

    流柯
  • PyTorch攻势凶猛,程序员正在抛弃TensorFlow?

    来源 | The Gradient 译者 | 夕颜 出品 | AI科技大本营(ID:rgznai100)

    AI科技大本营
  • Spring Cloud Consul:服务治理与配置中心

    Consul是HashiCorp公司推出的开源软件,提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起...

    macrozheng

扫码关注云+社区

领取腾讯云代金券