谁来教我渗透测试——黑客必须掌握的Linux基础
上一篇我们学习了Windows基础,今天我们来看一看作为一名渗透测试工程师都需要掌握哪些Linux知识。今天的笔记一共分为如下三个部分:
- Linux系统的介绍 
- Linux系统目录结构、常用命令 
- 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]
设置路由——route
- 删除路由表中的默认网关记录 - 格式:route del default gw IP地址
 
- 向路由表中添加默认网关记录 - 格式:route add default gw IP地址
 
- 添加到指定网段的路由记录 - 格式:route add -net 网段地址/掩码位数 gw IP地址
 
- 删除到指定网段的路由记录 - 格式:route del -net 网段地址/掩码位数 gw IP地址
 
查看网络连接情况——netstat
- 查看系统的网络连接状态、路由表、接口统计等信息 
- 常用选项: - -a:显示所有活动连接 
- -n:以数字形式显示 
- -p:显示进程信息 
- -t:查看TCP协议相关信息 
- -u:查看UDP协议相关信息 
- -r:显示路由表信息 
 
网络接口配置文件
- /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地址 
谁来教我渗透测试——黑客必须掌握的Linux基础的更多相关文章
- 谁来教我渗透测试——黑客应该掌握的Windows基础
		今天我们看看作为一个黑客对于Windows应该掌握哪些基础知识,主要内容包含以下四个方面: 系统目录.服务.端口和注册表: 黑客常用的DOS命令及批处理文件的编写: 黑客常用的快捷键,以及如何优化系统 ... 
- 谁来教我渗透测试——黑客必须掌握的HTML基础(一)
		小伙伴们,好几天不见了,这一周菜鸟小白工作很忙,所以没有每天更新学习内容,但是菜鸟小白的学习是没有停下来的,只是没有时间来整理学习笔记了.现在就将菜鸟小白这两天学习的HTML基础和大家分享,其中还会拿 ... 
- 谁来教我渗透测试——黑客必须掌握的HTML基础(二)
		今天我们继续看看html的学习笔记. 文本标签 标题标签<hn> 将文本设置为标题显示的标签对.设定标题字体大小,n=1(大)~6(小),标题大小一共有6种,也就是从<h1>… ... 
- Firefox渗透测试黑客插件集
		前天看S哥用Firefox的hackbar进行手动注入进行渗透,觉得直接运用浏览器的插件进行渗透测试有很多优点,既可以直接在前端进行注入等操作,也可以省却了寻找各种工具的麻烦.前端还是最直接的!于是这 ... 
- 谁来教我渗透测试——VMware工具安装和使用
		今天我们继续渗透测试学习系列了,昨天我们看了基础概念,今天我们来学习一下渗透测试必备的功能VMware安装. 首先我们下载好VMware workstation Pro的安装包.可以在百度上直接百度下 ... 
- Kali Linux渗透测试实战  1.1 Kali Linux简介
		1.1 Kali Linux简介 如果您之前使用过或者了解BackTrack系列Linux的话,那么我只需要简单的说,Kali是BackTrack的升级换代产品,从Kali开始,BackTrack将成 ... 
- 《Python黑帽子:黑客与渗透测试编程之道》 网络基础
		TCP客户端: 示例中socket对象有两个参数,AF_INET参数表明使用IPv4地址或主机名 SOCK_STREAM参数表示是一个TCP客户端.访问的URL是百度. #coding=utf-8 i ... 
- 谁来教我渗透测试——Windows server 2003上部署动态ASP网站
		安装网站 我们点击开始/管理工具/管理您的服务器 在服务器配置页面点击添加或删除角色 选择应用程序服务器,点击下一步 将两个工具都勾选上,点击下一步 点击下一步进行安装 等待安装 安装完成后点击完成按 ... 
- 2019-9-24:渗透测试,css样式,js基础学习笔记
		css分组和嵌套:分组:比如有<h1><h4><p>,3个标签,设置css时候可以 h1,h4,p{样式:属性} 这样的语法嵌套:比如.lei{样式:属性},.le ... 
随机推荐
- 赞!7000 字学习笔记,一天搞定 MySQL
			MySQL数据库简介 MySQL近两年一直稳居第二,随时有可能超过Oracle计晋升为第一名,因为MySQL的性能一直在被优化,同时安全机制也是逐渐成熟,更重要的是开源免费的. MySQL是一种关系数 ... 
- 传递 HDU - 5961 题解
			题目传送门 分析 题目大意:给一个竞赛图,将图分成两部分,判断两部分的图是否符合传递闭包,a->b,b->c,则a->c 这道题用Floyd硬跑的显然n\({^3}\)会T 如果用b ... 
- Node js 入门指南(1)
			目录 Node Js 定义 特点 Node使用方式 Tip: 使用导出文件的注意事项 Node 内置模块 http 模块 定义 使用方法 fs 模块 定义 使用方法 读取文件方式 同步读取 异步读取 ... 
- day73 bbs项目☞基本功能实现
			目录 一.登录功能 二.首页搭建 三.admin后台管理 四.图片防盗链 五.个人站点展示 一.登录功能 views.py 0难度,都是基本操作,要熟悉auth模块的使用 # 登录功能 def log ... 
- linux专题(四):常用的基本命令(二)基本属性
			看懂文件属性 Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限.为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定. 在Li ... 
- 安装完Linux需要做的关于安全的事
			故事是这样子的 最近主机受到攻击,原因可能是redis集群没有设置密码(因为快过期了,不想搞得太复杂就没设),然后被人家搞事情了,就被人一把set了些执行脚本,形如curl -fsSL http:// ... 
- Shaderlab-10chapter-立方体纹理、玻璃效果
			10.1.1天空盒子 window - Lighting - skyMaterial 创建mat,shader选自带的6 side shader 确保相机选skybox 如果某个相机需要覆盖,添加sk ... 
- GPO - General GPO Settings(3)
			WMI filtering Setting - Differentiating Installation Between Operations and Architecture. WMI SQL Ge ... 
- 集训作业 洛谷P1143 进制转换
			这个题目就是让我们实现进制的转换. 我只会很简单的把他从一个别的进制转化成10进制,然后再继续转化成目标进制. #include<iostream> #include<cstdio& ... 
- PyQt5布局管理器
			布局分类 绝对定位:使用move方法将空间直接定死在某个坐标,不会随着窗口大小的改变而改变 可变布局:使用各种布局管理器,实现组件的位置和大小随着窗口的变化而变化 布局管理器 QHBoxLayout: ... 
