而本节内容主要讲解前四部分内容及IP协议基础并不涉及python。 好了,现在开始我们的讲解吧! 一,IP协议作用: 简单的说arp协议使数据包能够抵达下一站点(请看我上一期讲解);IP协议则是规定数据包的起点和终点,它是TCP/IP协议中最重要的一层,它存在的目的就是为了使数据快速的抵达目标机,当传输途中出现错误时就返回ICMP包,而数据包的可靠性则有上层协议如TCP提供。 二,IP报文格式:
1.通常为4-->ipv4 2.以32位为一个单位,8位是一个字节,32位就是四个字节,表示这个ip头部有多少个4字节组成,比如说一个20个字节的ip头部的话,那么这个字段的值就是5,这个字段最大值是15,于是ip头部最大字节就是4*15=60个字节 3.以前是tos,现在被dscp(划分服务类型)和ecn代替,前五位是dscp默认为0,后两位为ecn,最后一位是比为保持为0 4.以字节为单位,总长度就是头部加数据,因为是16位,所以ip数据包最大为65535个字节,一般不会有这么大的单个数据包,数据包大了,会被分片,在真实数据中不包括链路层的头部的数据 5.唯一标识主机发出的数据包,主机每发出一个数据包这个值就会加一,这个一般用在ip分片上面 6.用在ip分片上面 7.用在ip分片上面 8.指定数据包最多可以经过的路由,当一个数据包经过一个路由的时候,这个值就会减一,当这个值为0的时候,这个数据包就会丢弃,并且发送一个icmp包到原主机,ttl初始值一般有原主机设定,一一般为32或者64 9.指上层协议,tcp为6,udp位17 10.只会校验ip首部,不会校验后面数据,如果校验出错就会丢弃数据包,这个数据包丢弃后是不会发送一个icmp包到原主机,需要由上层去发现,ip协议不管这些,填充数据时一般设置为0。至于校验和的计算我这里就不详诉了,这里给出一个讲解非常详细的文章链接 http://blog.csdn.net/wangshiqilin_fjy/article/details/7889316 11.源ip地址 12.目的ip地址 13.可变长度的字段,记录一些可选信息,比如:记录路劲,宽松或者严格的选路。不是所有字段都支持这个字段 下面是我随便抓的一个UDP包里的IP报文,大家可以对照上面字段进行研究。
三、子网掩码: 世界上有这么多计算机和IP地址,那么一个数据包又是如何准确的抵达它要到的地址呢?其实它的运输与现实生活中的快递运行方式相似,假设你的小区有A,B,C,D座楼,每座楼的每间房都有编号,例如401,402。那么你在A座的402完整编号就是A-402,当一个快递就可以根据A-402,送到A座的402而不是B座的402。而路由转发的原理就类似,一个IP地址根据子网掩码分为“网络号”和“主机号”,例如:192.168.1.101子网掩码为255.255.255.0,那么它就可以看成192.168.1.0座-192.168.1.101,此时数据就能知道送往那个主机了。 四、IP选路: 本机发送一个数据包到目标机的选路过程: �6�1首先经过路由器,路由器查看自己的路由表,看是否有能匹配到数据包目标IP的表项,如果找到就直接转发给它,若没有进行下面步骤; �6�1路由器查看是否有与数据包目标IP的网络号匹配的表项,若有就根据此表项把包发给下一个地址,若没有; �6�1路由器查看是否有默认转发数据包的表项,如果有就转发给它; �6�1如果没有默认默认路由或转发出错,那么就返回一个ICMP报文 下面图片是我研究路由表功能所做的实验,大家可以跟着做一做,有助于理解路由转发,route -n可以查看本机路由表,里面一些标识大家可以百度,这里我简单展示一下
A,局域网下的通信 发的数据包ip和mac地址都不变,因为局域网下两台计算机直接通信
B,不同网段下通信,数据包的目标ip不变,但mac地址却在不断变化(请看上一期arp讲解)
C,与因特网通信IP与mac地址都会变,使用NAT技术,这理就不讲解了,主要是为了实现私有IP和公有IP的转换 综上可以看出数据包到达目标机是通过走一步看一步的方式到达的。 最后介绍两个好玩的功能: �6�1Linux有一个开启路由转发命令: �6�1开启路由转发:echo �6�1关闭路由转发:echo �6�1结合此功能和上一节的arp欺骗便可以实现查看局域网其它计算机网络通信的数据,例如结合kali的driftnet就可以查看局域网其它计算机网络通信时的图片 �6�1tctrace查看经过路由的原理就是每一次对ttl加一,可以自己结合python的scapy模块写一个这样的小工具: PS:可以结合GNS3配饰网络拓扑图来学习路由转发,这样可以加深理解 作者: exploit 来源: Python中文社区 【灯塔大数据】微信公众号介绍:中国电大数据技术创新,自主研发了业内领先的“灯塔”大数据行业应用创新平台,灯塔面向市场研究、广告营销、商业地理、金融征信、人力资源等诸多行业领域,提供零售研究、消费者研究、店铺选址、精准营销、泛义征信,背景调查等服务,助力企业在大数据时代扬帆远航。 微信公众号【灯塔大数据】关键字信息: 【IDC】 下载IDC报告原文 【六个关键词】 下载运营商大数据PPT 【大数据日】 下载演讲材料 【十月融资】下载2016年10月投融资月报 【网络安全】获取国民网络安全报告全文 【23个理由】下载《大数据让你兴奋的23个理由》电子书 【思维导图】下载12种工具的获取方式 【 灯塔 】 查看更多关键字回复
|
| 本文出处: http://www.toutiao.com/a6392096207872164097/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|