ping命令常用于判断主机之间网络是否通畅,同样也判断我们的目标主机是否存活
arping
是一个网络工具,用于发送 ARP 请求以确定网络上指定 IP 地址的设备的 MAC 地址。ARP(Address Resolution Protocol)是在局域网中将 IP 地址解析为 MAC 地址的协议。
arping
命令可以执行以下操作:发送 ARP 请求:在命令行中使用 arping
命令,并指定目标主机的 IP 地址。例如:arping 192.168.0.1
等待 ARP 响应:arping
命令会发送 ARP 请求到目标主机,并等待该主机的 ARP 响应。如果目标主机在线且可访问,它将会回复一个包含其 MAC 地址的 ARP 响应。
显示结果:arping
命令将显示目标主机的 MAC 地址,并提供往返时间(RTT)和网络延迟等信息。
确认主机是否在线:通过发送 ARP 请求并检查是否收到响应,可以确定一个主机是否在线。
确认主机的 MAC 地址:arping
可以使用目标主机的 IP 地址确定其 MAC 地址,这对于构建网络拓扑图或进行网络审计很有用。
探测网络中的重复 IP 地址:在局域网中,每个设备应具有唯一的 IP 地址。arping
可以用于检测网络中是否存在重复的 IP 地址。
arping
172.16.1.1 -c 3 # -c参数表示法送的次数
arping 172.16.1.1 -c 3 | grep "bytes from" | cut -d " " -f 5 | cut -d "(" -f 2 # “|”:管道符,“grep”:筛选,“cut”:提取,"-d":指定,"-f":字段
主动模式:主动的探测发现网络内主机,但这种方式容易引起网络管理员的注意
被动模式
被动模式更加隐蔽,但速度会比较慢,网卡被设置为混杂模式来侦听网络内的arp数据包进行被动式探测,这种方式就需要网络内设备发送arp包才能被探测到
hping3
是一个命令行工具,用于执行高级网络探测、包捕获和包注入等操作。它可以从 TCP/IP 级别深入探测网络,研究网络协议和安全。
hping3 -c 100 -d 120 -S -w 64 -p 80 --flood --rand-source ke.qq.com
-c XXX =发送的数据报数量
-d XXX =发送到目标机器的每个数据包的大小。单位是字节
-S =只发送SYN数据包
-w 64 =TCP 窗口大小
-p 80 = 目标端口
-flood = 尽可能快地发送数据包,不考虑显示入站恢复。洪水攻击模式
--rand-source =使用随机性的源头IP地址,只能在局域中伪造IP地址,通过路由还可以还原为真实IP地址
2.fping 可以对一个IP段进行扫描
fping -g 192.168.1.0/24 -c > fping.txt
扫描和攻击网络的工具
scapy 进入到scapy
>>> ARP().display()
###[ ARP ]###
hwtype = Ethernet (10Mb) #硬件类型
ptype = IPv4 #协议类型
hwlen = None #硬件地址长度(MAC)
plen = None #协议地址长度(IP)
op = who-has #who-has查询
hwsrc = 00:0c:29:b3:2a:b6 #源MAC地址
psrc = 172.16.1.201 #源IP地址
hwdst = 00:00:00:00:00:00 #目标MAC地址
pdst = 0.0.0.0 #向谁发送查询请求
>>> IP().display()
###[ IP ]###
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 #目的地址
\options \
>>> ICMP().display()
###[ ICMP ]###
type = echo-request #类型,标识ICMP报文的类型
code = 0 #代码
chksum = None #校验和
id = 0x0 #标识
seq = 0x0
unused = ''
注:IP()生成ping包的源IP和目标IP,ICMP()生成ping包的类型。使用IP()和ICMP();两个函数,可以生成ping包,进行探测
sr1(ARP(pdst="192.168.1.1")) 发现原地址psrc=192.168.1.1
sr1(IP(dst="192.168.1.1")/ICMP(),TIMEOUT=1)
-sS表示使用SYN进行半连接扫描
-v 详细信息/版本号
-p 指定端口范围
-A 全部/所有信息
-O 扫描操作系统类型
-T4 加快执行速度(0-5)
-sS TCP SYN 扫描
-sU UDP 扫描
-Pn 非ping扫描
-sn ping扫描(速度快,易被防火墙拦截,没有返回结果)
-F 快速模式
-sV探测端口及版本服务信息
--version-light 设定侦测等级为2
-traceroute显示本机到目标的路由节点
-PY 简单的控制传输协议
-g 指定源端口号
nmap --randomize-hosts --scan-delay 5 192.168.1.100-106
--randomize-hosts 随机扫描
--scan-delay 5 延迟5秒扫描
lsof -i :80查看谁监听了80端口
ps -aux |grep http 查看过滤http
nmap脚本在/usr/share/nmap/scripts目录下
运行脚本例如:
ls membase-http-info.nse(查找存在文件脚本)
nmap --script smb-vuln-* ke.qq.com (运行脚本)(vuln专门扫漏洞的)
skipfish (man skipfish 查看用法)
skipfish -o text http://192.168.1.120 (扫描内容存放在text文件)
skipfish -o text1 @url.txt (扫描多个url,放在url.txt中)
skipfish -o text2 -l /dvwa/ -S /usr/share/skipfish/dictionaries/minimal.wl http://192.16.1.120/dvwa/
#-S 指定字典
-X 不检查包含string的URL
-K 不对指定参数进行Fuzz测试
--config 指定配置文件
-D 跨站点爬另外一个域
-l(小L)每秒最大请求数
-m 每秒IP最大并发连接数
nc是netcat的简写,netcat
是一款网络工具,它允许在网络上进行各种操作,包括端口扫描、数据传输、网络监听和创建简单的 TCP/IP 或 UDP 连接等。
nc参数
-nv 表示我们扫描的目标是个IP地址不做域名解析
-w 表示超时时间
-z 表示进行端口扫描