简介 为了学习iptables以及利用它进行应用层的过滤,先搭建好学习环境.我原来的测试机器装的是CentOS5的系统,只安装了基本的文本界面.在后续的学习中需要用到协议分析工具Wireshark,而该软件的很多功能都需要图形环境才能体现.原本以为在装好操作系统的情况下用安装光盘附加软件是件很容易的事,后来发现还没有这么简单.安装图形环境.但是在Linux下不像Windows那样可以直接添加/删除程序(在未安装相关组件的条件下),如果通过网络的方式安装则非常耗时间,决定通过光盘的方式进行yum安装,有关iptables及7层过滤的安装文章可以参考“iptables之7层过滤(封QQ、MSN、P2P等)http://waringid.blog.51cto.com/65148/290886”,需说明的是本篇文章中的安装光盘是DVD介质,如果是CD则可能不适于本文章. 制作本地YUM源 将下载下来的Linux DVD的ISO(http://ftp.cuhk.edu.hk/pub/Linux/centos/5.4/isos/i386/CentOS-5.4-i386-bin-DVD.iso)文件刻录成光盘,然后将光盘放入光驱. mkdir /mnt/cdrom mount /dev/hdc /mnt/cdrom rpm –ivh /mnt/cdrom/CentOS/createrepo-0.4.4-2.noarch.rpm cd /mnt createrepo . | 创建客户端yum文件 cd /etc/yum.repos.d mkdir backup mv *.repo ./backup vi cdrom.repo | [cdrom] name=cdrom baseurl=file:///mnt/cdrom enabled=1 gpgcheck=0 |
安装图形界面
yum clean all yum list yum install wireshark yum grouplist yum groupinstall "X Window System" "GNOME Desktop Environment" |
启动图形界面并打开wireshark
wireshark简介
Wireshark(前称Ethereal)是一个网络封包分析软件.网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料.在过去,网络封包分析软件是非常昂贵,或是专门属于营利用的软件,Wireshark的出现改变了这一切.在GNU GPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其程式码,并拥有针对其源代码修改及客制化的权利.Wireshark是目前全世界最广泛的网络封包分析软件之一.这里从简单的ping中利用wireshark的功能来简单分析网络中协议.
Linux主机的IP地址为192.168.227.129,本地主机的IP地址为192.168.1.100,测试方法为从192.168.1.100主机上“ping 192.168.227.129”,完成wireshark的截图如下所示:
在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,要知道目标主机的MAC地址.而在 TCP/IP协议栈中,网络层和传输层只关心目标主机的IP地址.这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址.于是需要一种方法,根据目的主机的IP地址,获得其MAC地址.这就是ARP协议要做的事情.所谓地址解析(address resolution)就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程.而Ping的过程可以很好分析这一过程.如上图中的第一条记录显示的是ARP协议,而它的目标MAC地址却是FF:FF:FF:FF也就是广播地址,在中间部份只是记录了相应的源IP的MAC地址.
上图中为ping过程中的第一个数据包,在ARP协议中可以清楚看到源地址的Sender MAC address为00:50:56:c0:00:08,Sender IP address为192.168.227.1,而目标地址的Mac地址为00:00:00:00:00:00广播地址,目标IP为192.168.227.129.这个包是广播包,同一网段中的所有主机都会把这个封包接下,不过大多数的主机看到这个封包的内容之后,都会把封包丢弃掉,这些主机从封包内容发现这个封包并不是要给它们的,而其中就只有一台主机会真正响应这个封包,那就是192.168.227.129.在经过以上的流程之后 |