网络嗅探与协议分析
注
所属课程:网络攻防实践
作业要求:第四次作业
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 \<host>
(监听指定主机为源或目的地址),less|greater\<length>
选择符合长度要求的包,\[tcp|udp][src|dst] port \<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服务器: -
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地址:
在回答后面的问题前,先对数据分析一下:
前八个分组,先是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扫描:在之后的数据中,出现诸如http,SMTP等引用层协议字段,猜测178:a1进行了网络服务开放扫描:
使用过滤命令:
tcp.flags.ack == 1 and tcp.flags.syn ==1
过滤开放的端口(178:a0第一次发送seq==0):至于攻击机操作系统,鉴于NBNS包的存在,猜测其和蜜罐主机都为linux吧。
3. 问题及解决
- 如果调用的库函数都是一样的,执行一样的协议请求,怎么从给出的数据中分析出攻击工具和攻击机操作系统类型呢?除非是给出的入侵检测的包吧(感觉这个像蜜网网关tcpdump给出的流量数据)。
4. 感悟
。。
参考
。。
来源:https://www.cnblogs.com/chl233/p/12569401.html