热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ctf之linux基础和网络基础

ctf之linux基础和网络基础Linux应用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际同介质的传输方式


推荐阅读
  • javaftp上传,javaftp下载文件
    本文目录一览:1、javaftp上传5G以上大文件,怎么做 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本人新手,用Unity3D想做一个简单的赛车游戏,现在的问题是转弯的时候很容易出现翻车的情况,求解决思路比如说你的中心是在(0,0,0),你把他设置成(0,-1.0,0)之类的就可 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 网络安全是一个非常重要的课题,基本上你运行的服务后台越多,你就可能打开更多的安全漏洞.如果配置的恰当的话,Linux本身是非常安全可靠的,假使在Linux系统中有某个安全缺陷,由于Linu ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
author-avatar
手机用户2702934194
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有