首页 运维 安全 如何分析TCP及IP的网络层相关封包与数据

如何分析TCP及IP的网络层相关封包与数据

May 13, 2023 pm 11:55 PM
ip tcp

  1. TCP/IP的网络层相关封包与数据

    1)  IP封包的封装:IPv4有32位,IPv6有128位。IP封包最大可以为65535bytes。其结构如下图:

如何分析TCP及IP的网络层相关封包与数据

    需要额外说明的有:

        服务类型:主要分为,PPP,表示此IP封包的优先度,目前很少是使用;D,若为0表示一般延迟(delay),若为1表示为低延迟;T,若为0表示为一般传输量,若为1表示为高传输量;R,若为0表示为一般可靠度,若为1表示为高可靠度;UU:保留尚未被使用;总共合起来为格式为PPPDTRUU。

        旗标:格式为DM,其中,D,若为0表示可以分段,若为1表示不可分段;M,若为0表示此IP为最后分段,若为1表示非最后分段。

        分段偏移:表示目前这个IP分段在原始IP封包中所占的位置。透过TotalLength,Identification,Flags以及Fragment Offset才能将小的IP分段在收受端组合起来。

        存活时间:范围0-255,当IP封包通过一个路由器时,TTL会减一,当TTL为0时,这个封包将会被丢弃。

        协议代码:各个代码的含义为,1,ICMP(InternetMessage Control);2,IGMP(Internet Group Management Protocol);3,GGP(Gateway-to-GatewayProtocol);4,IP(IP in IP encapsulation);6,TCP(Transmission Control Protocol);8,EGP(ExteriorGateway Protocol);17,UDP(Use Data Program)。

        表头检查码:用来检查这个IP表头的错误检查码之用。

        目标地址:目标IP地址

        其他参数:额外选项,提供包括安全处理机制,路由记录,时间戳,严格与宽松之来源路由等。

        补齐项目:由于Options的内容不一定有多大,但IP每个数据都必须是32bits,所以,若Options的数据不足32bits时,则有padding补齐。

        2)  IP地址的组成与分级:

        IP组成:网络号码和主机号码。

        同一网域(网段):在同一个物理网段内,主机的IP具有相同的网络号和独立的主机号。而主机号全为0和全为1(广播地址)的IP是不可用的。同一网段内的主机如果设定相同的网域IP范围(不可重复)可以透过CSMA/CD的功能直接在区网内用广播进行网络的联机(亦即可以直接网卡对网卡传递数据)。在同一个物理网段之内,如果两部主机设定成不同的IP网段,则由于广播地址的不同,导致无法透过广播的方式来进行联机。此时要透过路由器(router)来进行沟通才能将两个网域连接在一起。

        IP分级:整个IP分为五个等级,如下图:

        如何分析TCP及IP的网络层相关封包与数据

        D类:一般用来作为群播的特殊功能只用(最常用在大批计算机的网络还原)。

        E类:保留没有使用的网段。

    3)  IP种类与获取方式

        IP种类:公共IP,由InterNIC统一规划的IP,这种IP才能连上Internet;私有(保留)IP:不能连上Internet的IP,主要用于局域网络内的主机联机规划。

        私有IP分类:A类,10.0.0.0~10.255.255.255;B类,172.16.0.0~172.31.255.255;C类,192.168.0.0~192.168.255.255

        自动取得网络参数:在局域网络内会有一部主机专门负责管理所有计算机的网络参数,当其他主机网络启动时,会主动向该服务要求IP参数,若取得网络相关参数后,主机就能够自行设定好所有服务器给你的网络参数,从而连上Internet。

    4)  Netmask,子网与CIDR(Classless Interdomain Routing)

        Netmask:网络号码全取1而主机号码全取0的IP地址。

        Network:该网段的第一个IP地址,即网络号码为网络号码,而主机号码全为0

        网域表示方法:常用Network以及Netmask来表示一个网域。192.168.0.0/255.255.255.0或192.168.0.0/24(其中24表示网络号占24位)

        无等级网域间路由(无类域间路由):将网络号借用来作为主机号,以使得多个网域写成一个,这种打破原本IP代表等级的方式就被称为无等级网域间路由(可以减少路由信息,从而提升性能)。

    5)  路由的概念:当一部主机发送数据到另一台主机时,这台主机会查看本身的路由信息并与数据的目标地址比较,若找到目标IP,则发送到指定的机器,否则传送到默认网关,再进行传输。重复此过程,直到数据到达目的地。

    6)  route [-n]:观察路由表的指令,参数

        a)-n:将主机名以IP的方式显示。

        b)数据显示解读,

        Destination:Network的意思

        Gateway:默认网关,若为0.0.0.0表示不需要额外的IP

        Genmask:Netmask

        Flags:旗标,U,代表该路由可用;G,代表该网络需要经由Gateway来帮忙传递;H:代表该行路由为一部主机,而非一整个网络

        Iface:接口(interface)即网卡代号。

    7)  ARP(Address Resolution Protocol,网络地址解析协议),RARP(Revers ARP,反向地址解析协议。

    8)  arp [-nd];arp –s hostname(IP) Hardware_address:获取本机的ARP表格内的IP/MAC对应的数据,参数:

        a)-n:以主机IP的形态显示

        b)-d:将hostname的hardware_address由ARP table当中删除掉。

        c)-s:设定某个IP或hostname的MAC到ARP table中(用于建立静态的ARP)。

    9)  ICMP(Internet Control Message Protocol,因特网讯息控制协议):是一个错误侦测与回报的机制,最大的功能就是可以确保我们网络的联机状态与联机的正确性。ICMP也是网络层重要的封包之一,不过,这个封包并非独立存在,而是纳入到IP封包中,也就是说,ICMP同样是透过IP封包来进行数据传送的。ICMP比较常见的ICMP的类别:

        0:Echo Reply,代表一个响应信息

        3:Destination Unreachable,表示目的地不可到达

        4:Source Quench(当router的负载过高时,此类别码可用来让发送端停止发送讯息)

        5:Redirect,(用来重新导向路由路径信息)

        8:Echo Request,请求响应消息

        11:Time Exceeded for a Datagram,当数据封包在某些路由传送的现象中造成超时状态,此类别码可告知来源该封包已被忽略的讯息

        12:Parameter Problem on a Datagram,当一个ICMP封包重复之前的错误时,会回复来源主机关于参数错误的讯息。

        13:Timestamp Request,要求对方送出时间讯息,用以计算路由时间差异,以满足同步性协议的要求

        14:Timestamp Replay,此讯息纯粹是响应TImestamp Request用的

        15:Information Request,在RARP协议应用之前,此讯息用来在开机时,取得网络信息。

        16:Information Replay,用以响应Information Request讯息

        17:Address Mask Request,这讯息是用来查询子网mask设定信息

        18:Address Mask Reply,响应子网mask查询讯息的。

    ping和trcaceroute两个指令可以透过ICMP封包来确认与回报网络主机的状态,

以上是如何分析TCP及IP的网络层相关封包与数据的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1662
14
CakePHP 教程
1418
52
Laravel 教程
1311
25
PHP教程
1261
29
C# 教程
1234
24
网站怎么通过nginx设置黑/白名单IP限制及国家城市IP访问限制 网站怎么通过nginx设置黑/白名单IP限制及国家城市IP访问限制 Jun 01, 2023 pm 05:27 PM

一、黑/白名单IP限制访问配置nginx配置黑白名单有好几种方式,这里只介绍常用的两种方法。1、第一种方法:allow、denydeny和allow指令属于ngx_http_access_module,nginx默认加载此模块,所以可直接使用。这种方式,最简单,最直接。设置类似防火墙iptable,使用方法:直接配置文件中添加:#白名单设置,allow后面为可访问IPlocation/{allow123.13.123.12;allow23.53.32.1/100;denyall;}#黑名单设置,

ip与mac绑定什么意思 ip与mac绑定什么意思 Mar 09, 2023 pm 04:44 PM

ip与mac绑定是指将特定的IP地址与特定的MAC地址关联起来,使得只有使用该MAC地址的设备才能够使用该IP地址进行网络通信。ip与mac绑定可以防止被绑定的主机的IP地址不被假冒,前提条件:1、MAC地址是唯一的,并且不可假冒;只能绑定与路由器直接相连的网络上的主机(也就是主机的网关在路由器上)。

nginx如何设置目录白名单和ip白名单 nginx如何设置目录白名单和ip白名单 May 18, 2023 pm 03:52 PM

1.设置目录白名单:对指定请求路径不设置限制,如对请求路径为api目录下的请求不做限制,则可写为server{location/app{proxy_passhttp://192.168.1.111:8095/app;limit_connconn20;limit_rate500k;limit_reqzone=fooburst=5nodelay;}location/app/api{proxy_passhttp://192.168.1.111:8095/app/api}}#因nginx会优先进行精准匹

win10如何重置tcp/ip协议?windows10重置tcp/ip协议栈的方法 win10如何重置tcp/ip协议?windows10重置tcp/ip协议栈的方法 Mar 16, 2024 am 11:07 AM

win10如何重置tcp/ip协议?其实方法很简单的,用户们可以直接的进入到命令提示符,然后按下ctrl+shift+enter的组合键来进行操作就可以了或者是直接的执行重置命令来进行设置,下面就让本站来为用户们来仔细的介绍一下windows10重置tcp/ip协议栈的方法吧。windows10重置tcp/ip协议栈的方法一、管理员权限1、我们使用快捷键win+R直接打开运行窗口,然后输入cmd并按住ctrl+shift+enter的组合键。2、或者我们可以直接在开始菜单中搜索命令提示符,右键点

微信怎么查看ip地址 微信怎么查看ip地址 May 31, 2023 am 09:16 AM

微信查看ip地址的方法:1、登录电脑版微信,右键点击屏幕下方的任务栏,点击“任务管理器”;2、弹出任务管理器时,点击左下角的“详细信息”;3、任务管理器进入“性能”选项,点击“打开资源监视器”;4、选择“网络”,勾选微信进程“Wechat.exe”;5、点击下面的“TCP连接”即可监视微信网络IP相关情况,发送消息得到回复就会显示他人的IP地址。

python中怎么使用TCP实现对话客户端和服务器 python中怎么使用TCP实现对话客户端和服务器 May 17, 2023 pm 03:40 PM

TCP客户端一个使用TCP协议实现可连续对话的客户端示例代码:importsocket#客户端配置HOST='localhost'PORT=12345#创建TCP套接字并连接服务器client_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)client_socket.connect((HOST,PORT))whileTrue:#获取用户输入message=input("请输入要发送的消息:&

NGINX怎么统计网站的PV、UV、独立IP NGINX怎么统计网站的PV、UV、独立IP May 19, 2023 am 09:13 AM

概念:uv(uniquevisitor):独立访客,将每个独立上网电脑(以cookie为依据)视为一位访客,一天之内(00:00-24:00),访问您网站的访客数量。一天之内相同cookie的访问只被计算1次pv(pageview):访问量,即页面浏览量或者点击量,用户每次对网站的访问均被记录1次。用户对同一页面的多次访问,访问量值累计统计独立ip:00:00-24:00内相同ip地址只被计算一次,做网站优化的朋友最关心这个先声明下环境,此次运行的nginx版本1.7,后端tomcat运行的是动

wifi显示无ip分配怎么办 wifi显示无ip分配怎么办 Aug 30, 2023 am 11:58 AM

wifi显示无ip分配的解决办法:1、重新启动设备和路由器,关闭设备上的Wi-Fi连接,关闭设备,关闭路由器,等待几分钟,然后重新打开路由器链接wifi;2、检查路由器设置,重启DHCP,确保DHCP功能已经启用;3、重置网络设置,将删除所有已保存的WiFi网络和密码,在执行此操作之前,请确保已备份;4、更新路由器固件,登录路由器管理界面,查找固件更新选项,并按照提示进行操作。

See all articles