要求的专业知识: 【程序编程相关:安装imap服务器】
【推荐阅读:配置Linux网关和安装ipchains】 一: 精通osi参考模型,精通网络五层:物理层,数据链路层,网络层,传 【扩展信息:安装DNS服务器】 输层,应用层.精通每一层的协议,数据报格式.精通网络拓扑结构, 第一层,第二层,第三层的网络互联,数据的转发与路由等. 二: 精通c语言程序设计,unix/linux程序设计,网络程序设计.熟悉 unix/linux系统操作,熟悉著名服务的基本配置,特性及使用的端口 号.熟悉经典网络命令的使用,如:netstat,ping,traceroute, netcat,arp等. 三: 精通标准sql语言,熟悉流行的数据库使用,如:oracle,mysql等. 掌握数据库与web语言的结合使用. sniffer,我想大家都听说过,不过是截获数据报而已了.这样的事情多是发生在局域 网内.因此我们要完全明白内网的工作原理. 由于写这个文章的时候,用的多的是以太网,因此我们的实验也在以太网环境里完成. 首先要知道是的局域网的互联方式,目前使用的有第一层(物理层)的互联,主要使用 转发器,常用的转发器就是集线器了,也就是我们常称的hub,用hub互联的网络是一个总 线结构的网络,在总线结构的网络里,数据是广播形式的传送的.也就是两台主机间的通 信信息,其它的主机也可以收到,不过网络设备检查到目标物理地址并非是自己,便丢掉 这个数据包.但必境是收到了. 我们用程序把这些数据报全部复制一份保存下来,就是所谓的sniffer了.还要做的一 件事就是把网卡设为混杂模式(linux里面可用命令#ifconfig ethx promisc),我们 将在程序里自己完成. 物理层互联的局域网称为共享式局域网. 但现在不少的局域网是在第二层(数据链路层)互联的,使用的网络设备多是网桥,最 出名的网桥叫交换机,想必你也听说过了.这样联成的局域网叫交换式局域网.在这样的 网内,数据不再是广播了. 那我们如何才能sniffer呢?也就是如何让别人的数据还能发到我们的机器上的网络设 备上来呢?问题出来了,答案是arp欺骗.留作后续. 进入我们的主题,如何写程序把数据报从数据链路层copy过来. unix里常用的方法是:bsd的bpf(分组过滤器),svr的dlpi(数据链路提供者接口), linux的sock_packet接口. 如果你没有听说过开放源代码,那么你可能没有必要再读下去了.我可不想去重复已经 完成的工作. libpcap,一个公开可得源码的截获函数库,它在三种接口上都可以使用.因此我们将 使用这个函数库来完成我们的程序. 53行,打开一个网络设备用来嗅探. 59-64行,加入一条过滤规则,这里是只截udp数据报. 74行,返回一个数据报. 我们用data_print函数分析打印出ip报头的源ip与目的ip,udp报头中的源端口与目 标端口. 1 /* author : kf_701 2 * mtime : 2005 ... 下一页