小白日记8:kali渗透测试之主动信息收集(二)三层发现:ping、traceroute、scapy、nmap、fping、Hping
三层发现
ping <ip> #linux与windows的ping包,有很大区别:windows默认发四个,linux默认不停,可用-c指定包数量ping -R <ip> #也可以做路由追踪ping命令不支持IP段扫描,使用shell脚本 #会乱序ping#!/bin/bash
if [ "$#" -ne 1 ];then
echo "Usage - ./ping.sh [interface]"
echo "Excample - ./ping.sh 192.168.1.0"
echo "Example will perform an ARP scan of the local subnet to which eth0 is assigned"
exit
fi prefix=$(echo $1 | cut -d '.' -f 1-3) for addr in $(seq 1 254);do
ping -c 1 $prefix.$addr | grep "bytes from" | cut -d " " -f 4 | cut -d ":" -f 1
done
2、traceroute 路由追踪
不但可以发现目标机器是否在线,还可发现其经过多少跳路由
root@kali:~# traceroute www.sina.com
traceroute to www.sina.com (121.14.1.189), 30 hops max, 60 byte packets
1 DD-WRT (192.168.1.1) 1.976 ms 3.157 ms 5.440 ms #第一跳
2 10.12.66.254 (10.12.66.254) 10.196 ms 9.982 ms 9.967 ms
3 * 10.12.1.54 (10.12.1.54) 11.568 ms 12.779 ms
4 172.16.254.14 (172.16.254.14) 9.570 ms 16.018 ms 16.016 ms
5 10.0.3.13 (10.0.3.13) 9.559 ms 15.970 ms 15.954 ms
6 10.0.4.6 (10.0.4.6) 15.949 ms 5.061 ms 4.393 ms
7 120.236.177.1 (120.236.177.1) 5.012 ms 5.007 ms 4.999 ms
8 120.196.2.9 (120.196.2.9) 9.313 ms 9.304 ms 120.196.2.97 (120.196.2.97) 9.290 ms
9 120.196.240.41 (120.196.240.41) 4.962 ms 120.196.240.93 (120.196.240.93) 9.233 ms 120.196.240.41 (120.196.240.41) 6.145 ms
10 221.183.26.53 (221.183.26.53) 9.873 ms 221.183.26.125 (221.183.26.125) 9.212 ms 9.207 ms
11 221.176.22.182 (221.176.22.182) 9.857 ms 221.176.18.254 (221.176.18.254) 57.810 ms 221.176.22.130 (221.176.22.130) 17.121 ms
12 202.97.15.13 (202.97.15.13) 16.437 ms 221.176.22.130 (221.176.22.130) 16.386 ms 221.176.23.62 (221.176.23.62) 16.385 ms
13 202.97.60.138 (202.97.60.138) 16.373 ms 15.208 ms 12.096 ms
14 202.97.60.138 (202.97.60.138) 13.646 ms 113.108.208.38 (113.108.208.38) 13.625 ms 13.605 ms
15 113.108.209.162 (113.108.209.162) 11.998 ms 12.773 ms 12.261 ms
16 58.63.232.122 (58.63.232.122) 13.024 ms 9.457 ms 113.108.209.162 (113.108.209.162) 15.283 ms
17 * 121.14.1.189 (121.14.1.189) 8.790 ms 8.770 ms
先定义一个ip包头,再定义一个icmp包头,最后组合成一个ping包root@kali:~# scapy
WARNING: No route found for IPv6 destination :: (no default route?)
Welcome to Scapy (2.3.2)
>>> i=IP() #定义变量i继承IP包
>>> p=ICMP() #定义变量p继承ICMP包
>>> ping=(i/p) #把IP包与ICMP组合成ping
>>>
>>> ping.display() #查看包头结构
###[ IP ]###
version= 4
ihl= None
tos= 0x0
len= None
id= 1
flags=
frag= 0
ttl= 64
proto= icmp
chksum= None
src= 127.0.0.1
dst= 127.0.0.1
\options\
###[ ICMP ]###
type= echo-request
code= 0
chksum= None
id= 0x0
seq= 0x0
>>>
ping包设置
>>> ping[IP].dst="192.168.1.1" #设置目标IP为192.168.1.1
>>> ping.display()
###[ IP ]###
version= 4
ihl= None
tos= 0x0
len= None
id= 1
flags=
frag= 0
ttl= 64
proto= icmp
chksum= None
src= 192.168.1.127 #自动检测本地网卡
dst= 192.168.1.1
\options\
###[ ICMP ]###
type= echo-request
code= 0
chksum= None
id= 0x0
seq= 0x0
>>> a=sr1(ping) #发包,用a接受响应包
Begin emission:
.Finished to send 1 packets.
*
Received 2 packets, got 1 answers, remaining 0 packets
>>> a.display()
###[ IP ]###
version= 4L
ihl= 5L
tos= 0x0
len= 28
id= 23488
flags=
frag= 0L
ttl= 64
proto= icmp
chksum= 0x9b50
src= 192.168.1.1
dst= 192.168.1.127
\options\
###[ ICMP ]###
type= echo-reply
code= 0
chksum= 0xffff
id= 0x0
seq= 0x0
###[ Padding ]###
load= '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>>>
组合以上命令
>>> sr1(IP(dst="192.168.1.1")/ICMP()) <span style="color:#ff0000;">#<span style="font-family: Arial, Helvetica, sans-serif; "></span></span><pre name="code" class="plain" style="display: inline !important;">sr1(IP(dst="192.168.1.1")/ICMP(),timeout=1)Begin emission:.Finished to send 1 packets.*Received 2 packets, got 1 answers, remaining 0 packets<IP version=4L ihl=5L tos=0x0 len=28 id=23489 flags= frag=0L ttl=64 proto=icmp chksum=0x9b4f src=192.168.1.1 dst=192.168.1.127 options=[] |<ICMP type=echo-reply code=0 chksum=0xffff id=0x0 seq=0x0 |<Padding load='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' |>>>>>>
当目标IP在网络中不存在,scapy会一直等待响应,需加上timeout=1
python脚本
#!/usr/bin/python import logging
import subprocess
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import* if len( sys.argv ) !=2: #minglingcanshubugou2
print "Usage - ./pingger.py [/24 network address]"
print "Example - ./pinger.py 172.16.36.0"
print "Example will perform an ICMP scan of the 192.168.1.0/24 range"
sys.exit() address = str(sys.argv[1]) prefix = address.split(".")[0] + '.' + address.split(".")[1] + '.' + address.split(".")[2] + '.' for addr in range(0,254):
answer=sr1(IP(dst=prefix+str(addr))/ICMP(),timeout=0.1,verbose=0)
if answer ==None:
pass;
else:
print prefix+str(addr)<span style="font-weight: bold;">
</span>
从文件中读取
#!/usr/bin/python import logging
import subprocess
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import* if len( sys.argv ) !=2:
print "Usage - ./pingger.py [/24 network address]"
print "Example - ./pinger.py 172.16.36.0"
print "Example will perform an ICMP scan of the 192.168.1.0/24 range"
sys.exit() filename = str(sys.argv[1])
file=open(filename,"r") for addr in file:
answer=sr1(IP(dst=addr.strip())/ICMP(),timeout=0.1,verbose=0)
if answer ==None:
pass;
else:
print addr.strip()<strong> #strip()方法用于移除字符串头尾指定的字符(默认为空格)
</strong>
4、nmap
#抓包分析ICMP包 #-sn可指定IP段 -iL <txt> -sn
root@kali:~# nmap -sn 211.144.145.1 Starting Nmap 7.01 ( https://nmap.org ) at 2016-09-10 23:38 CST
Nmap scan report for 211.144.145.1
Host is up (0.11s latency).
Nmap done: 1 IP address (1 host up) scanned in 0.32 seconds
5、Fping
Fping类似于ping,但比ping强大。Fping与ping不同的地方在于,fping可以在命令行中指定要ping的主机数量范围,也可以指定含有要ping的主机列表文件。
与ping要等待某一主机连接超时或发回反馈信息不同,fping给一个主机发送完数据包后,马上给下一个主机发送数据包,实现多主机同时ping。如果某一主机ping通,则此主机将被打上标记,并从等待列表中移除,如果没ping通,说明主机无法到达,主机仍然留在等待列表中,等待后续操作。<strong>root@kali:~# fping -g 192.168.1.100 192.168.1.200 -c 1 #-g指定范围,从100-200 -c只发一个包</strong>也可 -g 192.168.1.0/24,可用grep提取
-f <file> #指定文件扫描
6、Hping
能够发送几乎任意TCP/IP 包,Hping常被用于检测网络和主机,其功能非常强大,但每次只能发一个包,可以发大量定制ping包,可做一定程度拒绝服务攻击。root@kali:~# hping3 192.168.1.1 --icmp -c 2
HPING 192.168.1.1 (eth0 192.168.1.1): icmp mode set, 28 headers + 0 data bytes
len=46 ip=192.168.1.1 ttl=64 id=27384 icmp_seq=0 rtt=36.8 ms
len=46 ip=192.168.1.1 ttl=64 id=27385 icmp_seq=1 rtt=2.4 ms --- 192.168.1.1 hping statistic ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 2.4/19.6/36.8 ms可用脚本或组合行实现循环
for addr in $(seq 1 254); do hping3 1.1.1.$addr --icmp -c 1 >> handle.txt & done<strong>#结果输出到文本文件使结果清晰</strong>cat handletxt | grep ^len #筛选活着的IP
小白日记8:kali渗透测试之主动信息收集(二)三层发现:ping、traceroute、scapy、nmap、fping、Hping的更多相关文章
- 小白日记7:kali渗透测试之主动信息收集-发现(一)--二层发现:arping/shell脚本,Netdiscover,scapy
主动信息收集 被动信息收集可能不准确,可以用主动信息收集验证 特点:直接与目标系统交互通信,无法避免留下访问痕迹 解决方法:1.使用受控的第三方电脑进行探测,使用代理 (做好被封杀的准备) 2 ...
- 小白日记9:kali渗透测试之主动信息收集(二)四层发现:TCP、UDP、nmap、hping、scapy
四层发现 四层发现的目的是扫描出可能存活的IP地址,四层发现虽然涉及端口扫描,但是并不对端口的状态进行精确判断,其本质是利用四层协议的一些通信来识别主机ip是否存在. 四层发现的优点: 1.可路由且结 ...
- kali linux之主动信息收集(三层发现,四层发现)
三层发现: 比二层发现的优点即可路由,就是速度比二层慢,相对我们来说还是算快的,经常被边界防火墙过滤 ip icmp协议 OSI七层模型
- kali linux之主动信息收集(二层发现)
主动信息收集: 直接与目标系统交互信息,无法避免留下访问的痕迹 使用受控的第三方电脑进行探测,如(使用代理或者使用肉鸡,做好被封杀的准备,使用噪声迷惑目标,淹没真实的探测流量) 识别活着的主机,会有潜 ...
- 小白日记6:kali渗透测试之被动信息收集(五)-Recon-ng
Recon-ng Recon-NG是由python编写的一个开源的Web侦查(信息收集)框架.Recon-ng框架是一个全特性的工具,使用它可以自动的收集信息和网络侦查.其命令格式与Metasploi ...
- 小白日记3:kali渗透测试之被动信息收集(二)-dig、whios、dnsenum、fierce
一.DIG linux下查询域名解析有两种选择,nslookup或者dig.Dig(Domain Information Groper)是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,M ...
- 小白日记5:kali渗透测试之被动信息收集(四)--theHarvester,metagoofil,meltag,个人专属密码字典--CUPP
1.theHarvester theHarvester是一个社会工程学工具,它通过搜索引擎.PGP服务器以及SHODAN数据库收集用户的email,子域名,主机,雇员名,开放端口和banner信息. ...
- 小白日记4:kali渗透测试之被动信息收集(三)--Shodan、Google
搜索引擎 公司新闻动态 重要雇员信息 机密⽂文档 / 网络拓扑 用户名密码 目标系统软硬件技术架构一.Shodan Shodan只搜网络设备.很多设备并不应该接入互联网,却由于本地网络管理员的疏忽和懒 ...
- 小白日记2:kali渗透测试之被动信息收集(一)
一.被动信息收集 被动信息收集指的是通过公开渠道可获得的信息,与目标系统不产生直接交互,尽量避免留下一切痕迹的信息探测.被动探测技术收集的信息可以大致分为两类, 即配置信息和状态信息. 被动探测可收集 ...
随机推荐
- mybatis系列-07-输出映射
7.1 resultType 使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功. 如果查询出来的列名和pojo中的属性名全部不一致,没有创建 ...
- css优先级判断
概念 浏览器是通过判断优先级,来决定到底哪些属性值是与元素最相关的,从而应用到该元素上.优先级是由选择器组成的匹配规则决定的. 如何计算? 优先级是根据由每种选择器类型构成的级联字串计算而成的. 它不 ...
- [Hive - LanguageManual] Sampling
Sampling Syntax Sampling Bucketized Table Block Sampling Sampling Syntax 抽样语法 Sampling Bucketized T ...
- DedeCMS Error:Tag disabled:"php"的解决办法
- UVALive 7275 Dice Cup (水题)
Dice Cup 题目链接: http://acm.hust.edu.cn/vjudge/contest/127406#problem/D Description In many table-top ...
- RGB色彩模式
RGB色彩模式(也翻译为“红绿蓝”,比较少用)是工业界的一种颜色标准,是通过对红(R).绿(G).蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红.绿.蓝三个通 ...
- 利用CSS3实现页面淡入动画特效
利用CSS3动画属性"@keyframes "可实现一些动态特效,具体语法和参数可以网上自行学习.这篇文章主要是实践应用一下这个动画属性,实现页面淡入特效,在火狐24版.chrom ...
- getopt使用例子
getopt是linux下获取程序启动参数的函数 #include <unistd.h> int getopt(int argc, char * const argv[], ...
- .NET Reflector插件FileDisassembler还原源码
NET Reflector,它是一个类浏览器和反编译器,可以分析程序集并向您展示它的所有秘密..NET 框架向全世界引入了可用来分析任何基于 .NET 的代码(无论它是单个类还是完整的程序集)的反射概 ...
- 解决Java版CKFinder无法显示缩略图问题
这些天在写我的Java EE项目的时候用到了CKEditor和CKFinder,但是在用CKFinder的时候无法显示图片的缩略图,但是官网上的demo上却有缩略图,我一直以为是自己配置错误了,我把官 ...