四层扫描原理-二层扫描之arpng-netdiscover

      在进行四层扫描前,会进行ARP询问,因此可以得知存活的主机,对于存活的主机进行对应的SYN、ACK等连接,完成端口扫描。因此下表表示的状况为针对所有目标主机为up的情况:

目标主机

目标端口

目标响应

作用

SYN

up

open

SYN/ACK

主机发现,端口扫描

closed

RST/ACK

down

 

ARP无应答

ACK

up

open

RST

主机发现

closed

RST

SYN/FIN,ACK

up

open

RST

主机发现

closed

RST

FIN

up

open

无应答

主机发现,端口扫描

closed

RST/ACK

无flags

up

open(Linux)

无应答

windows主机发现,在linux也可用作端口扫描,但是精度较低

close(linux)

RST/ACK

open(windows)

RST/ACK

closed(windows)

RST/ACK

Xmas(URG、PSH、FIN置1)

up

open(Linux)

无应答

windows主机发现,在linux也可用作端口扫描,但是精度较低

close(linux)

RST/ACK

open(windows)

RST/ACK

closed(windows)

RST/ACK

UDP

up

open

无响应

选取基本不使用的端口,根据是否有端口不可达发现主机

closed

ICMP 端口不可达

    关于arp扫描,除了nmap,scapy外,推荐两款单纯的二层扫描工具,arping和netdiscover

Arping(单次扫描,通过arp数据包)

(1)只能单次扫描;

(2)可以以指定的源IP扫描,源MAC,但是指定以后响应的包给发给自己指定的IP、MAC,自己本地无法收到响应的数据包;

通过arp请求检测网络中是否存在指定的主机;优点在于检测方可以任意的设计本机的IP、MAC,包括广播IP地址,可以限定目的MAC和IP;

  • -0:指定源地址为0.0.0.0,这个一般是在我们刚刚安装好系统,电脑还没配置好IP的时候,是-S参数的别名
  • -aAudible ping.这个当有reply回来的时候,你的电脑有喇叭的话,就会滴滴的叫
  • -AOnly count addresses matching requested address
  • -b:类似-0,指定源broadcast255.255.255.255
  • -B:指定这个就相当于 arping 255.255.255.255
  • -c count:发送指定数量的arp包后,即停止退出
  • -d:这个比较重要,当局域网有IP占用的时候,可以指定这个参数,当有相同的IP的不同MAC地址reply的时候,arping会退出,退出码为1
    -D
    :这个检测是否丢包的,当丢包的时候打印感叹号,正常的时候打印逗号
  • -e:和-a相反,当没有reply的时候,会滴滴滴
  • -p:打开混杂模式,当前用户对mac无权限时,可以加上这个选
  • -r:输出的时候只打印MAC,写脚本的时候用得到,不用自己对结果awk
  • -R:输出的时候只打印IP,和上面一样
  • -s MAC:指定源MAC地址
  • -S IP:指定源IP,设置了源IP,如果目标主机没有到源IProute,则有可能收不到answer
  • -t MAC:指定目的MAC
  • -T IP:指定目的IP
  • -i interface:指定发送arp包的设备。不指定的话,默认为系统的第一块网卡
  • -q:表示不打印输出,写脚本不想打印输出的时候,应该用的到
  • -u:没啥大用,结果显示的时候,加这个参数和不加,index的显示形式不同
  • -v:打印详细的输出,默认打印的好像就是verbose
  • -w deadline:指定两个ping直接的时间间隔,单位为毫秒,默认为1

通过shell脚本实现整个局域网的扫描

#!/bin/bash

if [ "$#" -ne 1 ];then

    echo "Usage ./arping.sh [interface]"

    echo "Example: ./arping.sh eth0"

    echo "Example will perform an ARP scan of the loal subnet to while eth0 is assigned"

    exit

fi

interface=$1

prefix=$(ifconfig $interface | grep "inet" | grep "broadcast" | cut -d " " -f 10 | cut -d "." -f 1-3)

for addr in $(seq 1 254);do

    arping -c 1 $prefix.$addr | grep "Unicast" | cut -d " " -f 4

done

 

Netdiscover(arp整个网段,可设置被动模式,通过arp请求)

特点

(1)能够指定为被动模式,即将本地网卡设为混杂模式;

(2)能够扫描整个网段,但是不能指定固定的IP区间;

  • -i device:您的网络设备
  • -r range:扫描给定范围而不是自动扫描。192.168.6.0/24,/16,/8
  • -l file:扫描包含在给定文件中的范围列表
  • -p被动模式:不发送任何东西,只有嗅探
  • -F filter:自定义pcap过滤器表达式(默认值:“arp”)
  • -s time:每个arp请求之间的睡眠时间(毫秒)
  • -n node:用于扫描的最后一个ip八位字节(从2253
  • -c count:发送每个arp请求的次数(对于丢包的网络)
  • -f启用快速模式扫描,节省大量时间,建议用于自动
  • -d忽略自动扫描和快速模式的主配置文件
  • -S在每个请求之间启用睡眠时间抑制(硬核模式)
  • -P打印产生适合其他程序解析的格式
  • -L在可解析输出模式(-P)中,在主动扫描完成后继续侦听
  • 如果未启用-r-l-pnetdiscover将扫描公共LAN地址。
#Netdiscover –i eth0 –r 192.168.43.0/24 –c 1

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值