ctf之linux基础和网络基础

ctf之linux基础和网络基础

Linux应用

Linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多中型、大型甚至巨型项目都在使用Linux

使用Linux的部分公司

厂商:网宿/深信服/绿盟/…
互联网公司:新浪/京东/淘宝/…
运营商:移动/电信/联通/…

Linux相关岗位

主机工程师·
系统工程师
运维工程师·
安全工程师…

如何学习Linux

先建立一个整体框架,然后细节用什么,再学什么
计算机是一门“做中学”的学科,不是会了再做,而是做了才会
先know how,再know why
学习Linux系统是在琢磨别人怎么做
适当的囫囵吞枣

Linux诞生背景

1991年9月17日,这是计算机发展史上值得纪念的一天,Torvalds将自己的开发的系统源程序完整地上传
到FTP服务器上,供大家下载测试。本来,Torvalds想用“Freax”这个名字,但AriLemke更喜欢开发时用的代号“Linux”,根据Ari Lemke的建议,Torvalds将这个具有划时代意义的操作系统命名为: Linux,由于Torvalds认为这个系统还很不完善,因此谦虚地将其命名为:0.01版。Linux诞生后的几个月里,Torvalds在不断地听取试用者的反馈的同时,仍然潜心于不断地改进程序,使其功能更强大、性能更稳定。到了1991年底,已经陆续推出了0.02版、0.03版、0.1版、0.11版。

尽管当时Torvalds已欠了大约五千美元的学生货款,但在开始发布源代码时,在开始发布源代码时,他就制定了这样的版权规则:

·任何人可以免费使用该操作系统,但不得将其作为商品出售;
·任何人可以对该操作系统进行修改,但必须将其修改以源代码的形式公开;·如果不同意以上规定,任何人无权对其进行复制或从事任何行为。

显然,Torvalds在Linux诞生时确定的版权规则体现了开放源代码运动的基本思想,在Linux诞生的初期有
力地促进了它的传播、发展、完善,吸引网络上越来越多的程序高手(这些人常常被称作黑客)加入到Linux的测试、开发中来。但是,由于这里的版权规则禁止销售Linux,实际上又阻碍了Linux的推广、传播,因为软件分发需要时间、精力、物质、资金的投入,如果一味禁止分发者获得回报,必然阻碍Linux的推广和传播,使得Linux最终局限在计算机软件爱好者的小范围内传播,无法到达普通计算机用户手中。

不久,Linux的机遇又出现了。Torvalds有机会聆听了自由软件运动之父Richard Stallman(理查德·斯托
曼,生于1953年)的一次演讲,促使他考虑转向GUN的GPL。Richard Stallman是自由软件运动的精神领袖、GNU计划以及自由软件基金会(Free Software Foundation)的创立者、著名黑客。他最大的成就是为自由软件运动创立了道德、政治以及法律框架,因而被誉为当今自由软件的斗士、伟大的理想主义者。GNU计划是由Richard Stallman在1983年9月27日公开发起的,它的目标是**创建一套完全自由的操作系统。**为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件必须遵守GNU通用公共许可证(GNU General Public License,简称GNU GPL),GNU GPL创造性地提出了“反版权”(即Copyleft)的概念,这是一个不同于商业软件的“版权所有”^(即Copyright)的法律概念,GNU GPL并不是为了否认版权,也不禁止分发软件时收取费用或取得利润。其核心思想是任何人发布一个遵守GNU GPL的软件时,不管是收费的还是免费的,都必须将发布者具有的一切权利给予软件的接受者,必须保证软件接受者能同时收到或通过其他途径得到源程序,并且将GNU GPL附加在软件的版权声明中,使软件接受者知道自己有这样的权利。GNU GPL本身也是受法律保护的版权声明。

从0.12版本开始,Torvalds把GNU GPL作为Linux的版权声明,把Linux奉献给了自由软件,奉献给了GNU,从而铸就了包括Linux在内的自由软件今天的辉煌。从此,Linux走上迅速发展的康庄大道。

Unix与Linux联系与区别

联系

Linux就是模仿Unix界面和功能的操作系统,但是源代码和Unix一点关系都没有。换句话讲,Linux不是Unix,但像Unix

Unix的历史久于Linux,Linux的思想源于Unix

区别

系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上
Unix有些版本比如aix,hp-ux是商业软件是闭源的(不过solaris,*bsd等Unix都是开源的),而Linux是自由软件,免费、公开源代码的

最大的不同: Linux是开发源代码的自由软件,而Unix是对源代码实行知识产权保护的传统商业软件

Linux四大组成部分

Linux内核
内核是系统的核心,是运行程序和管理的核心程序如进程管理,进程间的通讯调用等

Linux Shell
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口

Linux文件系统
是文件存放在磁盘等存储设备上的组织方法,linux是开放性的,能够支持多种异构的文件系统,如ext2,ext3,fat,vfat(fat32),ISO9660,nfs等

Linux应用系统
标准的linux系统都有一整套成为应用程序的程序集,包括文本编辑器、办公套件、数据库等

linux文件系统的一般结构
在这里插入图片描述
Vmware基础

网卡操作
·增加、删除、修改网卡

网卡类型
. Bridge-桥接:VMnet0
桥接到…
. Host-Only-仅主机:VMnet1
NAT-地址转换:VMnet8
NAT设置:网关、端口转发
. LAN区段
仅虚拟机内部通信使用
·服务开启
VMware NAT、VMware DHCP

快照
·开机快照/关机快照
克隆
·链接克隆/完整克隆

VMware上网方式
1、桥接:选择桥接方式,上网方式与物理机相同;ip地址是由公司网络分配

如果物理机使用无线和有线同时上网;此时需要选择桥接到什么网络

2、仅主机:虚拟机只能与物理机通信,无法上网

3、NAT:可以上网;但是与物理机网络不同;虚拟机可以访问公司网络,但是公司网络的其他人是无法访问这台虚拟机的。相当于内外网(内网可以访问外网;外网不能访问内网)

vmware虚拟网络

在这里插入图片描述
基本守则

  1. 区分大小写
  2. 文件名前面带””是隐藏文件
  3. 配置文件#开头代表是注释行,程序不执行该行linux
  4. 系统下的””相当于DOS下的”\”(路径)“”放在命令最后,说明下行的命令接在此行的后面
  5. 跳脱字符“”,将特殊字符转换成普通字符(“”也可以是单或双引号),如:空格、@、$等
    空格
    cd my\ documents
    cd ‘my documents’
    @
    cd my@documents
    cd ‘my@documents’

基础

  • pwd显示当前所在的工作目录
  • cd更改路径
    . cd dir进入一个目录dir
    . cd .可以验证“”代表当前目录
    . cd …进入当前目录的上一级目录cd …/…当前目录的上两级目录(父目录)
    . cd -回到刚才工作的目录
  • ls [option] [dir]显示当前目录或dir目录中的文件optipn的一些值
    . '-à显示所有文件((包含隐藏文件)
    . -l显示文件或目录的详细信息
    . -d显示当前目录本身的属性,而不是目录内容(配合-l使用)
    . -i显示文件或自录的indoes(配合-I使用,一目了然)

创建、删除、修改

touch fle创建文件file
文性存在时,touch命令会更新文件的时间戳

mkdir dir创建目录dir

rm [option]删除文件或目录
option的一些值
-i确认信息,root用户默认会有此参数,而普通用户没有
-r递归recursion,删除目录时必须使用
-f强制删除,不提示和确认

mv [option] file dst移动、重命名文件或目录

dst仅是文件名,重命名
dst是目录和文件名,但目录不是当前目录,移动并重命名
dst仅是目录,是移动文件,此时可以移动多个文件
在这里插入图片描述

文本查看及相关操作

cat显示文件的所有内容
more查看文件内容,只可以往下查看不能往上查看
less分页显示文件内容
head、 tail显示文件的首、尾行(默认为10行)
. tail -num file显示文件file的末尾10行 tail -20 /var/log/messages

文本编辑Vi——初级三种模式

·命令模式:可移动光标位置,可修改、删除、复制、粘贴、搜索关键字
·插入模式:输入新的字符,点esc键回到命令模式
·扩展模式:命令模式下输入“”进入扩展模式,保存、退出、搜索等

扩展模式的命令

:w保存
:w!强制保存
:q退出
:q!强制离开
:wq保存及退出
:wq!强制保存离开

命令模式的命令
cc 修改,即删除当前行并进入插入模式
-dd 删除当前行,numdd删除num行,比如删除两行;
x 删除光标处的字符,numx删除num个字符
yy 复制当前行,numyy复制num行
p、P 修改,删除,或者复制的内容作粘贴(p粘贴在当前行下面,P粘贴在当前行上面)
u、U 撤销最近的操作(u最近一次,U最近操作的那行)
ctrl+r 恢复一次撤销的动作,(恢复)
/、? key-word 搜索关键字(/往下寻找,?往上寻找)
n、N 搜索关键字的时候继续寻找下一个(n同方向,N反方向)
G 光标跳到最后一行,numG光标跳到第num行
H、M、L 光标跳到屏幕的第一行、正中间、最后一行

网络地址配置

ifconfig 网络配置命令

  • 不带任何参数 查看所有网卡的信息,同windows中的ipconfig
  • ifconfig ethN 查看网卡N的信息
  • ifconfig ethN up/down,ifdown/ifup ethN 启用/禁用网卡N,断开/连接
  • ifconfig ethN 192.168.1.1 netmask 255.255.255.128 为网卡N配置ip地址,但是重启网络服务后,此配置将丢失,一般将配置写进ifcfg-ethN文件中

手动重新动态获取地址

  • dhclient(重新获取IP地址)
  • -r此参数释放地址

shell&文件传输

shell

  • SecureCRT/xshell
  • Linux需要启用sshd

文件传输

  • SecureCRT/xshell
  • 连接SFTP会话

启动sshd服务

1.修改配置文件
vi /etc/ssh/sshd_config
添加permitrootlogin yes
添加PasswordAuthentication yes

2.然后重启ssd服务
/etc/init.d/ssh restart

3.添加开机启动
update-rc.d ssh enable

软件安装形式

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

源代码基本安装流程:

  • ./configure 进行软件配置:开启功能、调整安装目录、工作目录
  • make 进行编译,make命令会根据当前软件开发时的语言,自动识别跟调用相应的编译器,进行二进制编译
  • make install 进行软件的安装(设置启动文件、移动执行文件)

apt-get包管理工具

install联网安装软件
remove卸载

推荐书籍:鸟哥linux私房菜

OSI模型

应用层:我们的app产生数据表示层:格式转换

会话层:区分不通会话

传输层:端到端连接;通过端口号识别上层协议;比如443识别https; 80-http;

端口号:小于1023的是知名端口,一些应用层协议都是默认为知名端口

网络层:ip寻址

数据链路:mac寻址(每台设备都有唯一的地址)

物理层:决定数据zai际同介质的传输方式

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃香菜的哈哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值