实验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更快速更高效。