zoukankan      html  css  js  c++  java
  • 【网络与系统安全】20179209 wireshark和nmap实验

    TCP三次握手包

    在进行实验前,先梳理一遍TCP三次握手的过程,这个图是我本科学网络时画过不少于十遍的图,我觉得非常有纪念意义。

    稍作解释,第一次握手,客户端发起请求连接,发送一个标志位为SYN的ip数据包,其中序列号随机;服务器端接收到客户端的连接请求,如果允许(一般都会允许),就会返回给客户端一个标志位为SYN和ACK的ip数据包,seq序列随机,ack为客户端发来序列号的下一个数字,即加1,这就是第二次握手;第三次握手,客户端接收到服务器端确认连接的数据包,然后再返回给服务器端一个确认数据包,标志位为ACK,值为接收的服务器端数据包seq序列加1。至此握手完毕,开始进行通信,即数据传输。其实第三次握手客户端就可以携带信息,在这里这个信息不重要。
    本次实验,我是选用抓取和百度建立TCP连接的数据包:

    1.首先设置过滤器为只查看HTTP协议,开始抓取数据包;在浏览器中输入百度的域名,回车后立即停止抓取:


    如上图,抓取的前三个包即为三次握手的包。

    2.紧接着分析这三个包:


    转到封包详细信息的TCP属性栏,可以看到这是第一次握手,seq为0,该包的标志位为SYN。

    这是第二次握手,它的标志位为SYN和ACK,ack为1(0+1),seq为0。

    第三次握手,标志位为ACK,seq为1,ack为1(0+1)。

    登录包

    我所选的测试网站是www.onlylady.com,注册一个账号,然后退出,打开wireshark,开始抓包,进入网站输入登录名和密码,登录成功停止抓包。

    这里的过滤规则为ip.src==192.168.245.128&&http。选择post提交包必然为登录过程所产生的包,因为登录得把用户名的密码post到网站服务器。

    打开这个包的详细信息,很可惜它是直接明文传送。其实找了很多网站都没有加密传送的,我觉得有这样安全意识的网络管理员应该都改用https协议了。

    Nmap扫描

    这个实验我是自己搭建了一个IIS服务器,目的ip为192.168.245.131:

    开放扫描:

    这种扫描方式是使用connect()系统调用打开目标机上相关端口的连接,并完成三次TCP握手

    半开扫描

    半开扫描的原理是Nmap发送SYN包到远程主机,但是它不会产生任何会话,不需要通过完整的握手获得远程主机的信息,因此不会在目标主机上产生任何日志记录。

    秘密扫描

    秘密扫描的原理是向目标主机发送一个标志位为FIN的数据包,如果目标主机某端口返回一个RST数据包,则说明端口关闭,否则,端口开启。这种扫描方式对windows操作系统无效。由于我的靶机是windows2003,所以这个并不能测试。

    UDP端口扫描

    这种扫描技术用来寻找目标主机打开的UDP端口.它不需要发送任何的SYN包,因为这种技术是针对UDP端口的。UDP扫描发送UDP数据包到目标主机,并等待响应,如果返回ICMP不可达的错误消息,说明端口是关闭的,如果得到正确的适当的回应,说明端口是开放的。

    总结

    对于wireshark和nmap我是一个新手,还需要学的东西有很多。但是有一个疑问,那就是安全手段不断提高,wireshark会不会淘汰?试想目前大家都从http协议转https协议,而wireshark并不能识别https协议包中的详细信息,所以很大程度上限制了wireshark的功能。

  • 相关阅读:
    linux下查看主板内存槽与内存信息
    centos 6 与 centos 7 服务开机启动、关闭设置的方法
    linux 配置本地光盘YUM源
    linux crontab定时任务不执行
    Linux下安装MySQL5.6
    Linux shell 自动删除n天前日志
    nginx request_time 和upstream_response_time
    linux中文件多行合并为一行的例子
    awk 处理文本:行转列,列转行
    nfs环境搭建报错clnt_create: RPC: Program not registered
  • 原文地址:https://www.cnblogs.com/genius-sen/p/7695966.html
Copyright © 2011-2022 走看看