实验1:

 

Nginx介绍

Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。

在高连接并发的情况下,Nginx是Apache服务器不错的替代品。

 

Nginx安装

首先使用以下命令安装nginx源

rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

 

Nginx源安装完成后,使用yum命令进行安装

yum install -y nginx

使用nginx命令启动nginx,使用nginx查看配置是否正确

 

Nginx 常用的命令:

重新载入配置文件               nginx -s reload 

重启                                     nginx -s reopen

停止                                     nginx -s stop

 

验证是否成功

使用ifconfig查看虚拟机ip,使用本机浏览器进行打开

 

实验2

这次实验我使用的是centos7.6版本,使用iptables时一些命令老是找不到,所以我先把系统自身的firewall禁了(不知道有没有必要,只是觉得可能会影响到实验的效果所以就禁用了),然后重新安装iptables进行的实验

下面是我的版本CentOS版本

禁用firewall防火墙

首先停止firewall防火墙,将防火墙禁用,然后查看状态

systemctl stop firewalld

systemctl disable firewalld

systemctl status firewalld

安装iptables

yum install  -y iptables  iptables-services

 

查看iptables

设置iptables为开机启动

设置iptables默认拒绝所有

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

 

使用putty连接虚拟机实验一下,发现报错了连接超时,这说明22端口已经无法使用

这样设置只是暂时的, 重启虚拟机将还原修改之前的状态,想要保存的话需要使用一下命令(如果报错了的话,就进行上面操作就能解决)
service iptables save

开启ssh端口22(http只要添加80端口即可)

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

 

使用putty连接成功,说明端口22已经开启

 通过 iptables -L -n --line-number 可以显示规则和相对应的编号,如下图所示

如果想要进行删除的话,只要使用iptables -D+类型+编号,即可删除,比如
iptables -D INPUT 2

 

 

实验3

使用netstat -ano进行端口扫描(通常都是-ano具体指令可以用netstat --help查看)

netstat --help

 

 

 

netstat [选项]

-a或--all:显示所有连线中的Socket;

-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址;

-c或--continuous:持续列出网络状态;

-C或--cache:显示路由器配置的快取信息;

-e或--extend:显示网络其他相关信息;

-F或--fib:显示FIB;

-g或--groups:显示多重广播功能群组组员名单;

-h或--help:在线帮助;

-i或--interfaces:显示网络界面信息表单;

-l或--listening:显示监控中的服务器的Socket;

-M或--masquerade:显示伪装的网络连线;

-n或--numeric:直接使用ip地址,而不通过域名服务器;

-N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称;

-o或--timers:显示计时器;

-p或--programs:显示正在使用Socket的程序识别码和程序名称;

-r或--route:显示Routing Table;

-s或--statistice:显示网络工作信息统计表;

-t或--tcp:显示TCP传输协议的连线状况;

-u或--udp:显示UDP传输协议的连线状况;

-v或--verbose:显示指令执行过程;

-V或--version:显示版本信息;

-w或--raw:显示RAW传输协议的连线状况;

-x或--unix:此参数的效果和指定"-A unix"参数相同;

--ip或--inet:此参数的效果和指定"-A inet"参数相同。

只显示tcp的话就是netstat -t;显示所有tcp的话就是netstat -at

 

使用ss -als进行端口扫描(常用的就是-als)

ss -a 查看机器的socket连接数
ss -l 查看机器的端口情况
ss -s 查看机器的网络连接数

ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。