草庐IT

kali linux网络扫描~局域网扫描

、十一、 2023-06-05 原文

理论知识

  1. IP地址是由两部分组成,即网络地址和主机地址,网络地址表示其属于互联网的那一个部分,主机地址表示其属于该网络中的那一台主机,二者是主从关系
  2. IP地址根据网络号和主机号,分为三类和特殊的两类:

A类:1.0.0.0—126.0.0.0:子网掩码255.0.0.0

  B类:128.0.0.0—191.255..0.0:子网掩码255.255.0.0

  C类:192.0.10—223.255.255.0:子网掩码255.255.255.0

  D类:多播地址:224.0.0.0—239.255.255.255

  C类:保留地址:

  1. 在IP地址中,还有一种特殊的IP地址是广播地址,广播地址是专门用于同时向网络中所有工作站进行发送一个地址
  2. 在使用TCOP/IP协议的网络中,主机标识段host ID为全1的IP地址为广播地址,广播的分组传送给host ID段所涉及的所有计算机
  3. CIDR格式是由网络地址和子网掩码两部分组成,中间使用(/)斜杠分隔
  4. 在一个局域网内,用户也可能会使用多个路由器进行串联,以满足扩大原有的网络范围,或者在原有的网络下构建新的子网络
  5. ARP地址解析协议是根据IP地址获取物理地址的一个TCP/IP协议
  6. 由于主机进行通信时,将会发送一个包含目标IP地址的ARP请求广播到网络上的所有主机,并接受返回消息时,以此确定目标的物理地址,所以可以使用主动和被动两种方式来实施ARP扫描
  7. DHCP是一个局域网的网络协议,主要作用就是给内部网或网络服务供应商自动分配IP地址
  8. DHCP协议采用UDP作为传输协议,主机发送请求消息到DHCP服务器的67号端口,DHCP服务器回应应答消息给主机的68号端口
  9. 除了ARP和DHCP请求外,在局域网中还有一些协议,会主动发送一些广播或组播包,如BROWSER、SSDP、LLMNR等,此时通过监听方式,可以了解到一些活动主机的信息

实际操作

网络环境

Netmask工具

在kali linux中,默认提供了一个名为netmask工具,可以用来实现ip地址格式转换,该工具可以在IP地址范围、子网掩码、CIDR、CISCO等格式中互相转换

使用netmask工具将IP地址范围转换成cidr格式

使用方式为netmask -c IP地址 或 IP地址:IP地址(分为单个地址转换和多个地址转换),如下图

从上图可以看出已经将IP地址转换为了CIDR格式(CIDR对照表可看附加知识点)

使用netmask工具将ip地址范围转换成子网掩码格式

使用方式为netmask -s IP地址 或 IP地址:IP地址

 

使用netmask工具将ip地址范围转换成cisco格式

 使用方式为netmask -i IP地址 或 IP地址:IP地址

使用netmask工具将cidr格式范围转换成ip范围格式

使用方式为netmask -r IP地址/CIDR

Nmap扫描

Nmap工具提供了一个-iL选项,可以对指定的目标列表实施扫描,使用该工具的命令语法如下:nmap -iL 地址列表文件(-iL表示从文件列表中读取目标地址,该列表支持任何格式的地址,包括ip地址、主机名、CIRD、ipv6或者八位字范围,而且每一项必须以一个或多个空格、制表符或换行符分开)

具体操作如下:新建一个文件,文件名随意,但是更好的使用hosts.list(vi hosts.list)

之后使用nmap进行扫描(nmap -IL hosts.list)

可以看出以上图片中有4台活动主机,分别是192.168.0.1、192.168.0.102、192.168.0.103、192.168.0.105

上级网络路由跟踪

如果连接到最底层网络的话,则可以通过路由跟踪的方式扫描到上级网络的路由,根据获取的路由信息,可以猜测上级网络的范围大小

Nmap工具提供了一个--traceroute选项,可以用来实现路由跟踪

具体操作如下:nmap --traceroute www.baidu.com

可以看出,本地到目标服务器经过的上级路由依次为192.168.0.1和192.168.1.1,而且www.baidu.com开放了80端口和443端口

Traceroute工具

Traceroute是用来侦测由源主机到目标主机所经过的路由请求的重要工具

Traceroute工具收到目的主机ip地址后,首先给目的主机发送一个TTL=1的udp包,而经过的第一个路由器收到这个数据包之后,自动把TTL减去1(TTL指生存时间)

使用traceroute工具实施路由跟踪的方法如下:traceroute 目的主机

 

在以上输出信息中,每条记录序号从1开始,每一记就是一跳,每跳表示一个网关

每行有3个时间,3个时间表示探测数据包向每个网关发送数据包后,网关回应返回的时间

一些以*星号表示的可能是防火墙封掉了ICMP的返回消息,所以无法获取到相关数据包返回

ARP扫描

主动扫描

主动扫描就是主动发送一个ARP请求,等待目标主机的响应

使用nmap工具实施arp主动扫描:nmap -PR 目标地址(-PR表示实施arp ping扫描)

 

Netdiscover工具

Netdiscover工具是一个主动/被动的arp侦查工具,使用该工具可以在网络上扫描ip地址,检查在线主机或搜索为它们发送的arp请求

语法如下:netdiscover -r 【range】(-r 【range】表示指定扫描的网络范围)

(使用此工具命令会覆盖之前所有的命令历史记录,这里命令与结果相反,且这里没有接续等待最后的结果)

Arp-scan工具

Arp-scan是一款arp扫描工具,给工具可以进行单一扫描,也可以批量扫描,批量扫描的时候,可以通过cidr、地址范围或者列表文件的方式指定

该工具允许用户定制arp包,构建非标准数据包

该工具会自动解析mac地址,给出地址对应的硬件厂商,以帮助确认目标

使用方法:arp-scan 目标地址

图中输出的信息是目标主机是活动的,mac地址是f8:e4:e3:21:2b:ef,网卡生产厂商是inter corporate(英特尔公司)

Arping工具

Arping是一个arp级别的ping工具,主要用来自向局域网内的其他主机发送arp请求的指令

该工具可以测试局域网内的某个ip地址是否被使用,使用如下:arping -c conut 目标地址(-c count 表示指定发送的arp包数)

以上图中,第一条命令结果显示主机是活动的,第二条则显示超时,意为主机不在线

被动扫描

被动扫描是通过长期监听ARP广播,来发现同一局域网中的活动主机

Netdiscover既可以主动扫描,亦可以以被动模式嗅探存活的主机

使用方法如下:netdiscover -p(-p被动模式,不发送任何数据包,仅嗅探)

以上就是被动扫描,共有6种信息,分别是IP地址、mac地址、包数、长度、mac地址生产商、主机名

设备mac查询

通过对目标主机实施arp扫描后,可以获取到目标主机的MAC地址,以及mac生产商,但有一些设备无法获取到其生产厂商,此时可以登录https://mac.51240.com网站进行查询

DHCP被动扫描

Nmap工具

在nmap中,提供了一个broadcast-dhcp-discover脚本能够用来发送一个dhcp discover广播包,并显示响应包的具体信息,通过对响应包的信息进行分析,能够找到可分配的IP地址

语法如下:nmap --script broadcast-dhcp-discover

图中结果分析如下:

IP Offered: 192.168.0.104:提供的IP地址

DHCP Message Type: DHCPOFFER:dhcp消息类型

Server Identifier: 192.168.0.1:服务器标识服

IP Address Lease Time: 2h00m00s:IP地址释放时间

Domain Name Server: 211.138.24.66, 211.138.30.66:域名服务

Subnet Mask: 255.255.255.0:子网掩码

Router: 192.168.0.1:路由地址

可以看出,提供的地址为192.168.0.104

Dhcpdump工具

Dhcpdump是一个命令行格式的dhcp流量嗅探工具,可以捕获dhcp的请求/回复流量,并以用户友好的方式显示解码的dhcp协议消息

使用语法格式如下:dhcpdump -i interface(-i interface表示指定监听的网络接口)

(此工具kali上没有默认安装,需自行安装)

监听

Wireshark工具

Wireshark是一款非常流行的网络封包分析软件,功能十分强大,使用该工具可以截取各种网络封包

使用wireshark步骤如下:

  1. 在系统左上角搜索或在命令行输入wireshark启动wireshark工具

 

2.  双击eth0开始捕获数据包

Tcpdump工具

Tcpdump是一个命令行的嗅探工具,可以基于过滤表达式抓取网络中的报文,分析报文,并且在包层面输出报文内容以便于包层面的分析

使用方法如下:tcpdump -i 监听的网络接口 -w 数据包保存的文件名

CIDR对照表

子网掩码

CIDR

子网掩码

CIDR

000.000.000.000

/0

255.255.128.000

/17

128.000.000.000

/1

255.255.192.000

/18

192.000.000.000

/3

255.255.224.000

/19

224.000.000.000

/4

255.255.240.000

/20

248.000.000.000

/5

255.255.248.000

/21

252.000.000.000

/6

255.255.254.000

/23

254.000.000.000

/7

255.255.255.000

/24

255.000.000.000

/8

255.255.255.128

/25

255.128.000.000

/9

255.255.255.192

/26

255.192.000.000

/10

255.255.255.224

/27

255.224.000.000

/11

255.255.255.240

/28

255.240.000.000

/12

255.255.255.248

/29

255.248.000.000

/13

255.255.255.252

/30

255.252.000.000

/14

255.255.255.254

/31

255.254.000.000

/15

255.255.255.255

/32

255.255.000.000

/16

(上面的内容全部都是大学霸IT达人编著的kali linux网络扫描这本书中的,只是想和感兴趣的老铁们分享以下,另外,最重要的是想求助大佬们,看看上面的截图中,大多输出结果都是一样的,这是因为靶机的原因,还是什么原因,希望懂的大佬能够指点一下,谢过了哈)

有关kali linux网络扫描~局域网扫描的更多相关文章

  1. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  2. 网络编程套接字 - 2

    网络编程套接字网络编程基础知识理解源`IP`地址和目的`IP`地址理解源MAC地址和目的MAC地址认识端口号理解端口号和进程ID理解源端口号和目的端口号认识`TCP`协议认识`UDP`协议网络字节序socket编程接口`sockaddr``UDP`网络程序服务器端代码逻辑:需要用到的接口服务器端代码`udp`客户端代码逻辑`udp`客户端代码`TCP`网络程序服务器代码逻辑多个版本服务器单进程版本多进程版本多线程版本线程池版本服务器端代码客户端代码逻辑客户端代码TCP协议通讯流程TCP协议的客户端/服务器程序流程三次握手(建立连接)数据传输四次挥手(断开连接)TCP和UDP对比网络编程基础知识

  3. ruby - 检查网络文件是否存在,而不下载它? - 2

    是否可以在不实际下载文件的情况下检查文件是否存在?我有这么大的(~40mb)文件,例如:http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm这与ruby​​不严格相关,但如果发件人可以设置内容长度就好了。RestClient.get"http://mirrors.sohu.com/mysql/MySQL-6.0/MySQL-6.0.11-0.glibc23.src.rpm",headers:{"Content-Length"=>100} 最佳答案

  4. ruby - 404 未找到,但可以从网络浏览器正常访问 - 2

    我在这方面尝试了很多URL,在我遇到这个特定的之前,它们似乎都很好:require'rubygems'require'nokogiri'require'open-uri'doc=Nokogiri::HTML(open("http://www.moxyst.com/fashion/men-clothing/underwear.html"))putsdoc这是结果:/Users/macbookair/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/open-uri.rb:353:in`open_http':404NotFound(OpenURI::HT

  5. 深度学习12. CNN经典网络 VGG16 - 2

    深度学习12.CNN经典网络VGG16一、简介1.VGG来源2.VGG分类3.不同模型的参数数量4.3x3卷积核的好处5.关于学习率调度6.批归一化二、VGG16层分析1.层划分2.参数展开过程图解3.参数传递示例4.VGG16各层参数数量三、代码分析1.VGG16模型定义2.训练3.测试一、简介1.VGG来源VGG(VisualGeometryGroup)是一个视觉几何组在2014年提出的深度卷积神经网络架构。VGG在2014年ImageNet图像分类竞赛亚军,定位竞赛冠军;VGG网络采用连续的小卷积核(3x3)和池化层构建深度神经网络,网络深度可以达到16层或19层,其中VGG16和VGG

  6. 【网络】-- 网络基础 - 2

    (本文是网络的宏观的概念铺垫)目录计算机网络背景网络发展认识"协议"网络协议初识协议分层OSI七层模型TCP/IP五层(或四层)模型报头以太网碰撞路由器IP地址和MAC地址IP地址与MAC地址总结IP地址MAC地址计算机网络背景网络发展        是最开始先有的计算机,计算机后来因为多项技术的水平升高,逐渐的计算机变的小型化、高效化。后来因为计算机其本身的计算能力比较的快速:独立模式:计算机之间相互独立。    如:有三个人,每个人做的不同的事物,但是是需要协作的完成。    而这三个人所做的事是需要进行协作的,然而刚开始因为每一台计算机之间都是互相独立的。所以前面的人处理完了就需要将数据

  7. 常见网络安全产品汇总(私信发送思维导图) - 2

    安全产品安全网关类防火墙Firewall防火墙防火墙主要用于边界安全防护的权限控制和安全域的划分。防火墙•信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。防火墙是一个由软件和硬件设备组合而成,在内外网之间、专网与公网之间的界面上构成的保护屏障。下一代防火墙•下一代防火墙,NextGenerationFirewall,简称NGFirewall,是一款可以全面应对应用层威胁的高性能防火墙,提供网络层应用层一体化安全防护。生产厂家•联想网御、CheckPoint、深信服、网康、天融信、华为、H3C等防火墙部署部署于内、外网编辑额,用于权限访问控制和安全域划分。UTM统一威胁管理(Un

  8. 【Linux操作系统】——网络配置与SSH远程 - 2

    Linux操作系统——网络配置与SSH远程安装完VMware与系统后,需要进行网络配置。第一个目标为进行SSH连接,可以从本机到VMware进行文件传送,首先需要进行网络配置。1.下载远程软件首先需要先下载安装一款远程软件:FinalShell或者xhell7FinalShellxhell7FinalShell下载:Windows下载http://www.hostbuf.com/downloads/finalshell_install.exemacOS下载http://www.hostbuf.com/downloads/finalshell_install.pkg2.配置CentOS网络安装好

  9. Ruby 扫描/获取直到 EOF - 2

    我想扫描未知数量的行,直到扫描完所有行。我如何在ruby中做到这一点?例如:putreturnsbetweenparagraphsforlinebreakadd2spacesatend_italic_or**bold**输入不是来自"file",而是通过STDIN。 最佳答案 在ruby​​中有很多方法可以做到这一点。大多数情况下,您希望一次处理一行,例如,您可以使用whileline=getsend或STDIN.each_linedo|line|end或者通过使用-n开关运行ruby​​,例如,这意味着上述循环之一(在每次迭代中将

  10. ruby - 在 Ruby 中训练神经网络 - 2

    在神经网络方面,我完全是个初学者。我整天都在与ruby​​-fann和ai4r搏斗,不幸的是我没有任何东西可以展示,所以我想我会来到StackOverflow并询问这里的知识渊博的人。我有一组样本——每天都有一个数据点,但它们不符合我能够找出的任何明确模式(我尝试了几次回归)。不过,我认为看看是否有任何方法可以仅从日期预测future的数据会很好,而且我认为神经网络将是生成希望表达这种关系的函数的好方法.日期是DateTime对象,数据点是十进制数,例如7.68。我一直在将DateTime对象转换为float,然后除以10,000,000,000得到一个介于0和1之间的数字,我一直在将

随机推荐