中北网安实训笔记(开源聚合)-(20200618)-中间件、php环境(lamp或lnmp的安装与卸载)、java环境搭建、find和ps与netstate命令详解

中间件
中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。目前,它并没有很严格的定义,但是普遍接受IDC的定义:中间件是一种独立的系统软件服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。从这个意义上可以用一个等式来表示中间件:中间件=平台+通信,这也就限定了只有用于分布式系统中才能叫中间件,同时也把它与支撑软件和实用软件区分开来。
还有另一种说法:中间件是Tcp、ip协议+http协议+html(超文本编辑语言)格式:发送请求→接收响应→渲染页面→

————————————————————————————————————
安装bottle:
先装python3-pip:在这里插入图片描述
在这里插入图片描述
然后安装bottle:
在这里插入图片描述
在这里插入图片描述
——————————————————————————————————————
编写一个bottle文件:

1.创建一个1.py;使用vim编辑器在这里插入图片描述
2. 写入:在这里插入图片描述
3. 编译: 在这里插入图片描述
4. 浏览器输入 http://192.168.56.101:8080/
在这里插入图片描述
这个是你的虚拟机端口号

给电脑装一个apache2-utils,来对192.168.56.101:8080进行(ab测试)疯狂访问,可使它瘫痪:
在这里插入图片描述
shell端输入:ab -c 20 -n 1000 http://192.168.56.101:8080
进行恶意攻击
————————————————————————————————————————
PHP环境搭建
网站服务构成:
在这里插入图片描述
php的环境之LAMP:
在这里插入图片描述
安装apache:
1).下载源代码安装:
翻看apache HTTP服务器文档–》编译与安装http://httpd.apache.org/docs/2.4/install.html
1. 进入apache官网,下拉,找到HTTP Server:
2. 下载apache:在这里插入图片描述
3. 点进去后下载.bz2或者.gz在这里插入图片描述
4. 对它右击,复制链接地址:https://mirror.bit.edu.cn/apache//httpd/httpd-2.4.43.tar.gz
5. 用ssh链接虚拟机(ubuntu)在这里插入图片描述
6. 使用wget下载: wget https://mirror.bit.edu.cn/apache//httpd/httpd-2.4.43.tar.gz在这里插入图片描述
7. 。。。不了了之有点麻烦不说了

2).下载安装包安装:
sudo apt install apache2
在这里插入图片描述
下载好后浏览器输入ip地址就会出现apache2的默认页面:
在这里插入图片描述
软件包安装的apache2配置文件在etc目录下:
在这里插入图片描述
apache2配置文件:
在这里插入图片描述
其中,apache2.conf文件为主配置文件;使用vim apache2.conf查看配置文件内容
网站根目录:在这里插入图片描述
所有用网址访问的ip地址所含有index.???的都可以用apache2渲染出来

接下来对正在使用的配置文件进行介绍:
在这里插入图片描述
已经启动的网站:
在这里插入图片描述
现在我们查看下apache2的正在使用的配置文件:在这里插入图片描述网站根目录:在这里插入图片描述
错误日志存放地方:
在这里插入图片描述
注:错误日志只含程序错误、404不算.
自定义(访问日志)保存在:在这里插入图片描述
查找目录:在这里插入图片描述
访问apache2网站根目录:
在这里插入图片描述
卸载apache2:sudo apt remove apache2:
在这里插入图片描述
————————————————————————————————————————————
php的环境之LNMP:在这里插入图片描述
Nginx是黑客编的,比apache性能更好一点
安装Nginx:
1).源代码安装:

  • 进入nginx官网: http://nginx.org/en/download.html
    2.复制stable version(稳定版本)的下载地在这里插入图片描述http://nginx.org/download/nginx-1.18.0.tar.gz
  • 使用wget下载:wget http://nginx.org/download/nginx-1.18.0.tar.gz在这里插入图片描述
  • 解压:tar xvf :在这里插入图片描述
  • 进入 nginx;在这里插入图片描述
  • 配置文件:./configure
    在这里插入图片描述
  • 安装GCC、C编译器:sudo apt install gcc、sudo apt install c
    缺少pcre库,百度一下pcre库叫啥名字:在这里插入图片描述
    装个库:sudo apt install libpcre3 libpcre3-dev:在这里插入图片描述
    • 缺少zlib库:
      在这里插入图片描述
      装它:sudo apt install zlib1g zlib1g-dev 在这里插入图片描述
      7.安装完成:在这里插入图片描述

8.编译make,若无make,则安装make:sudo apt install make,完后make
9.sudo make install
2).安装包安装
sudo apt install nginx:在这里插入图片描述
安装好后在网页端访问下:在这里插入图片描述
网站根目录、配置文件文件夹不变,同apache
卸载nginx:sudo apt remove nginx
在这里插入图片描述
3).手动与自动安装不同:(源代码安装与安装包安装不同)

  1. 安装目录不同,源代码安装的目录为/usr/local/nginx在这里插入图片描述
  2. 手动安装编译的linux没有启动,因此需要重新启动后才能在网页端输入ip地址在这里插入图片描述启动:在这里插入图片描述
  3. 配置目录在安装目录下:
    在这里插入图片描述
    找到网站根目录后写个test.html文件保存,在网站上查到
    首先要找到网站根目录,在/usr/local/nginx/html中:
    在这里插入图片描述
    新建一个.html文件: sudo touch ./test.html
    打开新建的文件进行编写:vim ./test.html在这里插入图片描述
    在这里插入图片描述
    ————————————————————————————————————
    java环境搭建
    java在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

find命令使用方法:
基本格式:find path expression
    1.按照文件名查找

(1)find / -name httpd.conf  #在根目录下查找文件httpd.conf,表示在整个硬盘查找
    (2)find /etc -name httpd.conf  #在/etc目录下文件httpd.conf
    (3)find /etc -name ‘srm’  #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
    (4)find . -name ‘srm*’   #表示当前目录下查找文件名开头是字符串‘srm’的文件
    2.按照文件特征查找

(1)find / -amin -10   # 查找在系统中最后10分钟访问的文件(access time)
    (2)find / -atime -2   # 查找在系统中最后48小时访问的文件
    (3)find / -empty   # 查找在系统中为空的文件或者文件夹
    (4)find / -group cat   # 查找在系统中属于 group为cat的文件
    (5)find / -mmin -5   # 查找在系统中最后5分钟里修改过的文件(modify time)
    (6)find / -mtime -1   #查找在系统中最后24小时里修改过的文件
    (7)find / -user fred   #查找在系统中属于fred这个用户的文件
    (8)find / -size +10000c  #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
    (9)find / -size -1000k   #查找出小于1000KB的文件
————————————————————————————————————————————
ps命令详解:
ps命令详解
Linux上进程有5种状态:

  1. 运行(正在运行或在运行队列中等待)
  2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
  3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
  4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
  5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)
    ps工具标识进程的5种状态码:
    D 不可中断 uninterruptible sleep (usually IO)
    R 运行 runnable (on run queue)
    S 中断 sleeping
    T 停止 traced or stopped
    Z 僵死 a defunct (”zombie”) process
    名称:ps
    使用权限:所有使用者
    使用方式:ps [options] [–help]
    说明:显示瞬间行程 (process) 的动态
    参数:
    ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
    -A 列出所有的行程
    -w 显示加宽可以显示较多的资讯
    -au 显示较详细的资讯
    -aux 显示所有包含其他使用者的行程
    au(x) 输出格式 :
    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    USER: 行程拥有者
    PID: pid
    %CPU: 占用的 CPU 使用率
    %MEM: 占用的记忆体使用率
    VSZ: 占用的虚拟记忆体大小
    RSS: 占用的记忆体大小
    TTY: 终端的次要装置号码 (minor device number of tty)
    STAT: 该行程的状态:
    D: 不可中断的静止
    R: 正在执行中
    S: 静止状态
    T: 暂停执行
    Z: 不存在但暂时无法消除
    W: 没有足够的记忆体分页可分配
    <: 高优先序的行程
    N: 低优先序的行程
    L: 有记忆体分页分配并锁在记忆体内 (即时系统或捱A I/O)
    START: 行程开始时间
    TIME: 执行的时间
    COMMAND:所执行的指令
    范例:
    ps
    PID TTY TIME CMD
    2791 ttyp0 00:00:00 tcsh
    3092 ttyp0 00:00:00 ps
    % ps -A
    PID TTY TIME CMD
    1 ? 00:00:03 init
    2 ? 00:00:00 kflushd
    3 ? 00:00:00 kpiod
    4 ? 00:00:00 kswapd
    5 ? 00:00:00 mdrecoveryd

    % ps -aux
    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]
    root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]
    root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]
    root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]
    具体命令解释如下:
      1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。
      2)ps -A 显示所有程序。
      3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
      4)ps -e 此参数的效果和指定"A"参数相同。
      5)ps e 列出程序时,显示每个程序所使用的环境变量。
      6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
      7)ps -H 显示树状结构,表示程序间的相互关系。
      8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
      9)ps s 采用程序信号的格式显示程序状况。
      10)ps S 列出程序时,包括已中断的子程序资料。
      11)ps -t<终端机编号>
      指定终端机编号,并列出属于该终端机的程序的状况。
      12)ps u
      以用户为主的格式来显示程序状况。
      13)ps x
      显示所有程序,不以终端机来区分。
      最常用的方法是ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。
    ———————————————————————————————————————————————
    netstate命令使用方法:
    一、netstat命令简述
    netstat命令用来打印Linux系统的网络状态信息,包括网络连接(network connections)、路由表(routing tables)、网络接口设备统计信息(interface statistics)、伪装连接(masquerade connections)和多播成员信息(multicast memberships)等,可显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。。
    二、输出解释
    在linux下直接执行netstat会得到如下结果
    在这里插入图片描述
    从整体上看netstat的输出结果可以分为两个部分。一个是Active Internet connections,二是Active UNIX domain sockets。
    (1)Active Internet connections Active Internet connections表示活跃的网络连接,包括UDP和TCP连接信息。其中"Recv-Q"和"Send-Q"指接收队列和发送队列,这些数字一般都是0,如果不是则表示数据发送和接收队列存在堆积,这种情况较为少见。Local Address和Foreign Address表示本地和远端的IP、端口,State表示连接的状态,主要有:
        ESTABLISHED:已建立连接的状态
        LISTEN :侦听来自远方的TCP端口的连接请求
        SYN_SENT:发出主动连接(SYN)的数据包
        SYN_RECV :接收到一个要求连接的主动连接数据包
        FIN_WAIT1 :该套接字服务已中断,该连接正在断线中
        FIN_WAIT2:该连接已挂断,正在等待对方主机响应断线确认的数据包
        TIME_WAIT :连接已挂断,但socket还在网络上等待结束
        CLOSE_WAIT:等待从本地用户发来的连接中断请求
    ——————————————————————————————————————————
    在lunux下:ps(process进程)
    ps aux指令在这里插入图片描述
    查看哪一个用户启动了什么
    在这里插入图片描述
    ps可以快速看到谁启用了。
    ——————————————————————————————————————
    装PHP:在这里插入图片描述
    在这里插入图片描述
    php -v:查看php脚本
    在这里插入图片描述
    编写一个1.php文件,内容如 上上图:
    首先vim ./1.php(创建并进入1.php文件内进行编写)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
网站根目录关系:
在这里插入图片描述
练习:在网站根目录下写一个动态网站(每次访问结果不一致)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

得装个libapache-mod-php在这里插入图片描述
然后apache2与php联通了:
在这里插入图片描述
给虚拟机装mysql的服务器端和客户端:
在这里插入图片描述
部署一个开源项目
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值