一直都想写点什么,但又因为自己水平过低不知道写点什么好,只有把一些初级的玩意整理出来“骗骗”那晚辈,也算是自己有点收获吧。^*^
●关于IP地址
在Internet中,每一台主机都有一个唯一的地址,网关常常有不止一个的地址。地址由两部
分组成:网络号和主机号。这种组合是唯一的,以使每一个IP地址表示Internet中的唯一一
台主机。所有的IP地址都是32位长。
IP地址分为五类,平常我们使用的是A类、B类、C类三类地址,它们的表现格式如下:
地址类型 地址形式
A N.H.H.H
B N.N.H.H
C N.N.N.H
其中N指的是网络号,H指的的是主机号。N和H都是大于0小于256的整数。由于A类地址的第一
字节的最高为0,用来表示地址为A类地址,因此A类地址只可以表示1~126个网络,而每个网络
有16,000,000台主机。0和127则有特殊的用处。
B类和C类地址的第一字节的最高两位用于表示地址是B或者C类地址,因此B类地址第一字节的范
围为128~191,C类为192~222。所以B类地址共可以表示64X256(16,382)个网络,每个网络有
64,000台主机。C类有两百多万个网络,而每个网络最多有254台主机。
关于D类地址则称为多路广播地址,即将主机分组,发往一多多路广播地址的信包,同组的主机
都可以收到。
在我们国内,IP地址是由科学院网络中心及其授权的机构来进行分配的。
●何谓“子网”
如果说一个网络里有很多的主机的话,会给管理带来很多困难,并且使网络的设置复杂而容易
出错。在许多情况下,一个A或B类地址的一个网络号,它所对应了如此之多的主机,以至于一
组织或单位常常用不了。另一方面,C类地址一个网络只有254个主机号又显得太少。与是在实际中常常将一个较大的网络
分成几个部分,每个部分称为一个——子网。在外部,这几个子网依然对应一个完整的网络号。划分的办法是
将地址的主机号部分近一步划分成子网号和主机号两个部分。
比如,159.226.xxx.xxx 是一个B类地址。
159.226.21.xxx地址的范围是中科院自动化所,159.226.40.xxx是中国计算所,159.226.41.xxx是国家智能中心。可以看的
出来,这一个B类的地址的第三个字节的一部分变成了子网号了,最后的一个字节才用来表示不同的主机。当然了,这只是一个
例子。有的单位还可能进行近一步的划分,将整个第三个字节和第四个字节的最高几位也作为子网号部分,于是每个子网内最多
只能有64台主机。至于怎么样去观察自己的子网形成,win9x的用户可以运行winipcfg来看了。
●如何认识网络掩码
当在Internet里两台机器通信的时候,需要比较两台主机IP地址,用来判断这两台主机间是否在同一子网内,如果是,那么数据包
就可以直接发给那台主机了,如果不是,那么就得发向网关所在的主机了。这可以通过设置正确的网络掩码来解决。网络掩码就是
对应于网络号和子网号为二进制1,主机号部分为0的串。可以通过ifconfig命令来看一下自己所在的网络号、网络掩码等情况。你可
以从下面这个例子来看:
$ ifconfig -a
loO: flags=849 mtu 8232
inet 127.0.0.1 netmask ffOOOOOO
leO: flags-863 mtu 1500
inet 159.226.21.7 ffffffcO broadcast 159.226.21.191
这样就可以看出来,和leO相结合的是一个B类地址,它的IP地址为159.226.21.7,这个B类地址的网络掩码是ffffffcO,也就是第三字
节以及第四字节的最高两个位做了子网号。
有一些IP地址的形式是保留的:
◇IP地址是0.0.0.0,在主机引导时使用,其后不再用。
◇网络号为0的IP地址指同一个网络内的主机。
◇使用正确的网络号,而主机号部分是全l,用于向Internet中具有 该网络号的网络上的所有主机广播。
◇主机号部分是全l的IP地址用于本网段内广播。
◇发向127.0.0.1的地址的数据包,被立刻放到本机的输入队列里,常常用于调试网络软件。
现在您认识了何谓网络掩码了吗?~*~
●怎么理解冒充IP
我想你在网络之中畅游的时候经常会碰到或听到一些关于盗用IP地址的做攻击之类的事情,那么到底怎么理解IP被“盗”呢?
往往有时候是因为因为IP不够用,或者不法者为了冒充另外的主机去做攻击别人的事,以便起到隐藏自己的作用(我想后者占的比
重比较大些),才去做盗用IP的事情。
其实要冒充不再同一网段的一台主机的IP,你可以使用RAW SOCKET发出IP包,当然了,条件是你必须先拥有超级用户的权限,
但这种形式一般接收不到回应的信息,原因是网关不会将这些数据包转进这个网段内的。这样想想而比较之下,要去冒充与自
己同网段的主机IP就比较简单和方便了。如果你是Windows用户的话改一改IP地址和掩码就可以搞定了,但是UNIX就相对来说就
稍微麻烦一点了,需要编程才可以玩这些(如果成功的话,则可以伪造很多使用IP协议的数据包,从而很大程度的扰乱了网络
的秩序)。
冒充IP所带来的效果则是两台机器同时使用同一个IP,当两方都开着机器的话,系统就会报告IP有冲突了。一般情况下是谁先开
机谁就可以继续使用这个IP。不过要是Windows和UNIX之间“争”的话,那么Windows则必败无疑,哪怕是Windows先开机……
那么如何实现IP冒充呢?其实这个问题在很多站点你都可以找到资料的。这里就不便做进一步解释了。
●IP欺骗攻击的概述
一个入侵者为了获得访问远程机器的权限,一般都会创建有欺骗性源IP地址的数据包。他们所用这种方法是利用了使用基于IP地
址的认证应用的特点,并可能导致获取非授权访问的权限,甚至对目标机器系统的root访问权限。这种攻击方法即便是在返回包
不能到达入侵者的情况先也可以得逞。
当然了,不是说任何情况下都可以这样做的,主要是看目标机器的配置是否可以如此。比如说:A、支持多内部接口到外部网络的
路由器;B、在内部网络支持子网并有两个网络接口的路由器;C、其代理程序使用源IP地址认证系统的Firewall。这三点说明了
有可能遭受该这种方法攻击的配置情况。
如果说为了方便Internet用户而开设Telnet的话,那么有些服务也是如此,有它好的一面,也有它不安全的一面。IP欺骗攻击在
A、SunRPC & NFS;B、X Windows;C、BSD UNIX“r”命令等如此服务下是较容易受到攻击的。
至于如何检查是否受到此类IP欺骗,方法很多,这里例举一种:查看者可以比较内部网络不同系统间的进程帐号日志,一旦系统受
到了此类攻击的话,就可以在受攻击的系统上得到一个日志项,里面显示对应的远程访问。而在源机器上将没有对应的初始化该远
程访问的记录项(注意:一般入侵者也知晓如何修改此日志项)。
解决IP欺骗的最好方法就是安装过滤路由器,不允许包含内部网络地址的数据包通过该路由器。此外在发出数据包中应该过滤掉源
地址与内部网络地址不同的数据包,这样可以就防止源内部网络的IP欺骗攻击。当然了,什么都不是万能的,不可完全依赖于如此。
●IP层的其它协议
无论是喜欢网络或者是关注网络安全,那么了解一下IP层的其它协议将是必不可少的。
ICMP(Internet Control Message Protocol,为控制信息协议)是用来传送一些关于网络和主机的控制信息的,如目标主机是不是
可以到达的、路由的重定向、目标主机是否在使用等。常用的"ping"命令就是使用了ICMP协议。Echo Request是ping发向目标主机
的,而Echo reply是由接收的主机发向目标主机的。很多网络攻击工具就是利用了这个协议来实现的。
ARP(Address Resolution Protocol,为地址解析协议)是用来将IP地址映射成相应的主机MAC地址的。在局域网里两台主机通信的
时候,通常需要知道目标主机的物理地址。执行命令arp就可以看到IP地址和物理地址的一些对应关系。
RARP(Reverse Address Resolution Protocol,为反向地址解析协议)是用来将物理地址映射成32位的IP地址。这个协议大多用于
无盘工作站启动时,因为无盘工作站只知道自己的物理地址,还需要利用rarp协议来获得一个IP地址。
●Telnet(远程登录)
Telnet是一种Internet远程终端访问标准。它真实