2.信息收集

1.基于 ping 命令的探测

ping 


traceroute     ##路由跟踪命令

traceroute www.baidu.com


arping

arping 192.168.15.254


fping -g 192.168.1.0/24 -c 1 > fping.txt     #fping是ping 的加强版  可以ping一个网段 然后把查找到的信息记录下来

-g 表示对地址段进行扫描如果不加可以对某个 IP 进行扫描

-c 表示 ping 的次数

>fping.txt 表示将扫描的结果重定向到 fping.txt ,原因是如果扫描一个网段的话输出结果是非常多的,我们输出重定向到文件中只会获得存活的主机信息。


Netdiscover

Netdiscover 是一个主动/被动的 ARP 侦查工具。使用 Netdiscover 工具可以在网络上扫描 IP 地

址,检查在线主机或搜索为它们发送的 ARP 请求


netdiscover -i eth0 -r 192.168.11.0/16     #这是主动扫描

参数:-i device: your network device-r range: scan a given range instead of auto scan. 192.168.6.0/24,/16,/8

netdiscover -p   #这是被动扫描

被动模式的方法更加隐蔽,但是速度会比较慢,网卡被设置为混杂模式来侦听网络内的 arp 数据包进 行被动式探测,这种方式就需要网络内设备发送 arp 包才能被探测到。


2.HPING3

Hping3 是一个命令行下使用的 TCP/IP 数据包组装/分析工具,通常 web 服务会用来做压力测试使用,也可以进行 DOS 攻击的实验。同样 Hping 只能每次扫描一个目标。

hping3 -c 1000 -d 120 -S -w 64 -p 80 --flood --rand-source google.cn         #不要随意测试公网上的网站 不然会被请去喝茶

-c 1000 = 发送的数据包的数量。

-d 120 = 发送到目标机器的每个数据包的大小。单位是字节 -S = 只发送 SYN 数据包。

-w 64 = TCP 窗口大小。 -p 80 = 目的地端口(80 是 WEB 端口)。你在这里可以使用任何端口。 

--flood = 尽可能快地发送数据包,不需要考虑显示入站回复。洪水攻击模式。 

--rand-source = 使用随机性的源头 IP 地址。这里的伪造的 IP 地址,只是在局域中伪造。通过路由器后,还会还原成真实的 IP 地址

Ctrl+c 停止后即可停止命令


3.基于 Nmap 的扫描方式

Nmap,也就是 Network Mapper,最早是 Linux 下的网络扫描和嗅探工具包

nmap  基本扫描

nmap -sn 192.168.15.0/24    #扫描192.168.15.0段落中有哪些主机存在

-sn  参数是只ping  不进行端口扫描



nmap 半连接扫描 (不会留下记录)


SYN 是请求 ACK是回复 RST是断开

nmap -sS 113.240.243.235 -p 8090,81,21,25,110,443    ##-sS 是半连接扫描  -p 是端口 


4.使用 nc 扫描端口

nc -nv -w 1 -z 192.168.15.1 1-100

-nv 表示我们扫描的目标是个 IP 地址不做域名解析

-w 表示超时时间

-z 表示进行端口扫描


5.使用scapy 定制数据包进行高级扫描

scapy        ##直接输入命令就会看到下图


ARP().display()                                #来查看 ARP 函数的用法

###[ ARP ]###

hwtype= 0x1 硬件类型

ptype= 0x800 协议类型

hwlen= 6 硬件地址长度(MAC)

plen= 4 协议地址长度(IP)

op= who-has who-has 查询

hwsrc= 00:0c:29:6a:cf:1d 源 MAC 地址     

psrc= 192.168.11.126 源 IP 地址

hwdst= 00:00:00:00:00:00

pdst= 0.0.0.0 向谁发送查询请求

sr1(ARP(pdst="192.168.31.1"))      #向 192.168.1.1 发送 arp 请求的数据包

scapy 定制 PING 包

Scapy 的功能是非常强大的,我们前面只是简单的介绍了他的 ARP 探测方式,下面我们简单讲一下

IP()生成 ping 包的源 IP 和目标 IP ,ICMP() 生 ping 包的类型。使用 IP()和 ICMP()两个函数,可以生成 ping 包,进行探测。

IP/ICMP 的方式

下面两条命令可以直接看到我们的数据包格式

IP().display()

version= 4 版本:4,即 IPv4

ihl= None 首部长度

tos= 0x0 服务

len= None 总长度

id= 1 标识

flags=

frag= 0 标志

ttl= 64 生存时间

proto= hopopt 传输控制协议 IPv6 逐跳选项

chksum= None 首部校验和

src= 127.0.0.1 源地址

dst= 127.0.0.1 目的地址

ICMP().display()

type= echo-request 类型,标识 ICMP 报文的类型

code= 0 代码

chksum= None 校验和

id= 0x0 标识

seq= 0x0

操作思路:

1、修改 IP 包头的 dst,也就是我们的目的地址

2、拼接上 ICMP 的数据包类型

3、使用 sr1()进行发送数据包并接收数据包

sr1(IP(dst="192.168.31.1")/ICMP(),timeout=1)           



探测端口是否打开

sr1(IP(dst="113.240.243.235")/TCP(flags="S" ,dport=8091),timeout=1)         ##探测113.240.243.235 的8090端口是否打开

flag显示为SA  是我们的到一个 flags=SA 的数据包。SA 标志即 SYN+ACK。我们收到服务器 tcp 三次握手中的第二

个包,能收到回应,表示端口开放    这种基于 tcp 的半链接扫描,更隐密,更不容易被发现

sport= ftp_data TCP 源端口

dport= http TCP 目的端口

seq= 0 32 位序号

ack= 0 32 位确认序号

dataofs= None 4 位首部长度

reserved= 0 保留 6 位

flags= S 标志域,紧急标志、有意义的应答标志、推、重置连接标志、同步序列号标志、

完成发送数据标志。按照顺序排列是:URG、ACK、PSH、RST、SYN、FIN

window= 8192 窗口大小

chksum= None 16 位校验和

urgptr= 0 优先指针

options= [] 选项

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Nmap输出的是扫描目标的列表,以及每个目标的补充信息,至于是哪些信息则依赖于所使用的选项。“所感兴趣的端口表格...
    令狐冲233阅读 6,091评论 0 4
  • 简单扫描 nmap 192.168.166.128 从结果可以看到开放的端口及其对应的服务名称。 Ping扫描 参...
    N8_xEnn7nA1阅读 10,034评论 0 0
  • 运行操作 CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本) CM...
    小明yz阅读 7,962评论 0 8
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 10,491评论 0 8
  • 破窗效应,比如小偷第一次偷东西,如果被及时发现严厉处罚,那么这个小偷可能改邪归正,从此收敛偷东西的欲望,如果任由其...
    曲同宁阅读 2,920评论 0 0

友情链接更多精彩内容