zoukankan      html  css  js  c++  java
  • 链路层:ARP和RARP命令arp -a/tcpdump -en

    ARP是在以太网上面运用的一种IP地址到硬件地址映射的协议

    1 ARP流程

    列如 ftp bsdi 假定bsdi在以太网上

    DNS解析器解析主机名字>>FTP发送请求端请求TCP用得到的IP地址建立链接>>TCP发送一个链接请求分段到远端的主机,利用上诉的IP地址发送一份IP数据报>>因为是以太网,发送端主机将32bitIP地址变化为48bit的以太网地址(这就是ARP的功能)>>发送一份ARP请求,以太网上有次地址的发送ARP应答>> 发起端再收到ARP应答时IP数据就可以发送了

    注意!!点对点链路不使用ARP机制

    2:ARP报文格式


    以太网目的地址(6个字节)|以太网源地址(6个字节)|帧类型(0x0806代表ARP,2个字节)|硬件类型(以太网地址MAC地址)|协议类型(IP地址)|硬件地址长度(长度以字节为单位,ARP中代表MAC地址,数值为6,6个字节为48bit)| 协议地址长度(IP地址长度 数值为4,32bit)|op(操作字段,当arp得到一个值的时候就应该更改op字段为2)|发送段以太网地址(6个字节)|发送端IP地址

    (4个字节)|目的以太网地址(6个字节)|目的IP地址(4个字节)

    蓝色部分为以太网首部

    绿色部分为ARP请求或者应答链路层协议以及常用命令介绍netstat1.1.2小节


    3:代理ARP

    当一个局域网的某台主机想要发送一份数据包,此时就应该经过某台服务器,这台服务器接口的
    MAC就是代理ARP的地址,因为此MAC地址欺骗了主机将信息发送到了路由器上(根据链路层硬件地址)

    在gemini上执行arp -a

    可以看到net(140.252.1.183) at 0:80:ad:3:6a:80

                    sun(140.252.1.29) at  0:80:ad:3:6a:80

    这证明了点对点链路之间不存在链路层中的以太网或者802.1数据报(只有这两种需要mac地址)

    4:免费ARP,是在引导的时候查看有没有和自己相同mac地址的接口,如果有则进行日至报错

    5:RARP逆地址解析协议

    主要运用在无盘操作系统的引导上。知道了一个MAC地址,但是没有IP地址,请求网络上的主机给自己一个IP地址

    tcpdump -e host name//命令详解//对链路层的抓包

    14:26:31(是时间).092078(ID号码) 58:44:98:f8:a0:0c (oui Unknown) (MAC地址,oui是未知设备)> (表示发送方向)

    0c:8b:fd:34:db:86 (oui Unknown), ethertype IPv4 (0x0800)(链路层数据报的种类), length 54(数据报长度是54): 112.83.122.49.http 

    > SmilieLion.34570: Flags [.], ack 1079(希望smile发送的下一个ack值), win 434(窗口大小是434), length 0(代表数据,减掉了各种包头,差值54)


    tcpdump -e[n]//加入n就不将ip地址改为主机名


    14:09:18.493852 0c:8b:fd:34:db:86 (oui Unknown) > 58:44:98:f8:a0:0c (oui Unknown), ethertype ARP (0x0806),

     length 42: Reply SmilieLion is-at 0c:8b:fd:34:db:86 (oui Unknown), length 28(与上诉协议对照查看)


    5:arp -a 查询自己缓存中的ARP地址








  • 相关阅读:
    C++公有派生
    Android学习笔记(十二)——实战:制作一个聊天界面
    Android学习笔记(十一)——ListView的使用(下)
    Android学习笔记(十)——ListView的使用(上)
    Android学习笔记(九)——布局和控件的自定义
    【Leetcode周赛】从contest-41开始。(一般是10个contest写一篇文章)
    算法群模拟面试记录
    【Leetcode周赛】从contest-51开始。(一般是10个contest写一篇文章)
    【服务端开发-杂】REST 和 Graphql
    【Kickstart】2017 Round (Practice ~ G)
  • 原文地址:https://www.cnblogs.com/SmileLion/p/5863525.html
Copyright © 2011-2022 走看看