网络嗅探分析

网络嗅探与协议分析

所属课程:网络攻防实践

作业要求:第四次作业

1. 学习总结

  • 有线/无线嗅探器;软件/硬件嗅探器
  • 一些概念与原理:
    • 以太网:广播共享;网络接口设备为网卡,接收广播地址数据帧(封装的是MAC);网卡驱动在混杂模式下接收一切通过其连接共享媒介的数据帧。
    • 共享式/交换式网络(储存转发,MAC映射)。
    • 在纯交换网络中的一些嗅探手段:MAC地址泛洪攻击(多发溢出失效机制);MAC欺骗(假冒MAC发送数据给交换机以修改映射表);ARP欺骗。
    • BPF:类UNIX系统链路层的数据包收发接口;过滤封包(加计算测试位)。
    • Libpcap(类UNIX系统),抓包工具库,同BPF配合,捕获数据包保存为pcap格式,字段格式同一般数据包类似。
    • NPF和WinPcap(packet.dll , wpcap.dll),win系统上的BPF和libpcap
    • 调用Libpcab库函数帮助个人的一些小体量网络嗅探工具。
    • tcpdump(调用libpcab,利用BPF语法规则,)
    • 检测:利用混杂模式下的linux内核多只检查ip来确认是否接收数据分组,正常模式只接收目标MAC为本机地址或广播地址的特性构造MAC地址无效,ip有效的ICMP主动请求,检测网段中是否有主机处于嗅探模式。
    • 网络协议解析:保存各层次协议头字段信息及data字段信息;解析步骤依次为确定帧头部,网络层协议信息(协议类型ip(0800),源宿ip),ip数据报的重组,传输层信息(协议类型(tcp:6,udp:17),源宿端口),传输层报文段重组,确定应用协议类型并根据相应协议重组data信息(主要调用libpcap库的分组处理函数processpacket())。
    • wireshark一些过滤命令:[src|dst] host \(监听指定主机为源或目的地址),less|greater\ 选择符合长度要求的包,\[tcp|udp][src|dst] port \过滤tcp,udp及端口号。
    • Is Present, Contains, Matchs

2. 实践部分

  • tcpdump嗅探,使用命令tcpdump -n src 主机ip and tcp port 80 and "tcp[13]&18==2",同时访问 tianya.cn ,发现会访问三个web服务器:

    网络嗅探分析_第1张图片

    网络嗅探分析_第2张图片

  • wireshark嗅探 telnet登录bbs:

    打开wireshark开始抓包,使用命令telnet bbs.fudan.edu.cn(保证telnet 23端口状态打开;保证bbs可以注册登录。。)登录bbs.fudan.edu.cn后输入账号密码。在wireshark中输入过滤命令ip.dst ==202.120.225.9 and tcp.dstport == 23,其中202.。。。为bbs服务器ip。之后重组对话,即follow tcp stream, 得到相关信息:

    目的ip为202.120.225.9,端口为23。

    密码账号(data)以ascll码表示,tcp连接传送数据分组。

    追踪tcp流可得明文信息:

    也可依次查看数据包。

  • 分析给出的pcap:

    攻击机ip及目标ip地址:网络嗅探分析_第3张图片

    在回答后面的问题前,先对数据分析一下:网络嗅探分析_第4张图片

    前八个分组,先是188:d1(ip:mac)广播了一个分组,然后在路由那更新了其ARP映射表。猜测此时178:a0网卡属于混杂模式,正在监听该网段上流量。之后178:a0请求获取并得知188:d1mac地址,猜测在确认该靶机是否活跃。从第九个分组开始178:a0开始尝试同188:d1不同端口号进行tcp连接,但当188:d1返回期望收到的分组信息时(ack),178:a0返回rst状态字断开了连接,故猜测此时178:a0对188:d1进行tcp端口扫描,采用发送单连接状态字方式,不进行第三次确认,故猜测可能为nmap工具SYN扫描网络嗅探分析_第5张图片

    在之后的数据中,出现诸如http,SMTP等引用层协议字段,猜测178:a1进行了网络服务开放扫描或测试操作系统类型:

    使用过滤命令:tcp.flags.ack == 1 and tcp.flags.syn ==1 过滤开放的端口(178:a0第一次发送seq==0):网络嗅探分析_第6张图片

    至于攻击机操作系统,鉴于NBNS包的存在,猜测其和蜜罐主机都为linux吧。

3. 问题及解决

  • 如果调用的库函数都是一样的,执行一样的协议请求,怎么从给出的数据中分析出攻击工具和攻击机操作系统类型呢?不需要对检测到的攻击机进行扫描吗?
    行吧,操作系统类型可以用p0f通过分析syn包被动分析出,命令 p0f -r /path/to/file,那工具呢?网络嗅探分析_第7张图片

4. 感悟

。。

参考

。。

你可能感兴趣的:(网络嗅探分析)