一.OSI七层模型
原理
在介绍Traceroute的原理之前,需要了解几个技术名词:
Traceroute(路由追踪)的原理及实现 – 简书 (jianshu.com)
- IP协议 IP协议是TCP/IP协议族中最核心的部分,它的作用是在两台主机之间传输数据,所有上层协议的数据(HTTP、TCP、UDP等)都会被封装在一个个的IP数据包中被发送到网络上。
- ICMP
ICMP全称为互联网控制报文协议,它常用于传递错误信息,ICMP协议是IP层的一部分,它的报文也是通过IP数据包来传输的。 - TTL
TTL(time-to-live)是IP数据包中的一个字段,它指定了数据包最多能经过几次路由器。从我们源主机发出去的数据包在到达目的主机的路上要经过许多个路由器的转发,在发送数据包的时候源主机会设置一个TTL的值,每经过一个路由器TTL就会被减去一,当TTL为0的时候该数据包会被直接丢弃(不再继续转发),并发送一个超时ICMP报文给源主机。
1.ping命令
ping baidu.com -c 1 #只发一个包
ttl: TTL的作用是限制IP数据包在计算机网络中的存在的时间。 TTL的最大值是255,TTL的一个推荐值是64。
2.traceroute
3.ARPING
3.1 ARP协议概述:
是”Address Resolution Protocol”(地址解析协议)的缩写。计算机通过arp协议将ip地址转换成mac地址。
3.2arp协议工作原理
原理
ARP协议arping 命令解析 – 简书 (jianshu.com)
arping 192.168.1.1
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在同一以太网中,通过地址解析协议,源主机可以通过目的主机的IP地址获得目的主机的MAC地址。arping程序就是完成上述过程的程序。
arping,用来向局域网内的其它主机发送ARP请求的指令,它可以用来测试局域网内的某个IP是否已被使用。
4. netdiscover
Netdiscover 是一个主动/被动的 ARP 侦查工具。使用 Netdiscover 工具可以在网络上扫描 IP 地址,检查在线主机或搜索为它们发送的 ARP 请求。
主动模式实例:
netdiscover -i eth0 -r 192.168.1.0/24
-i: 出口地址是eth0网卡. -r: 扫描的范围
netdiscover -p #这是被动扫描
被动模式的方法更加隐蔽,但是速度会比较慢,网卡被设置为混杂模式来侦听网络内的 arp 数据包进 行被动式探测,这种方式就需要网络内设备发送 arp 包才能被探测到。
二、tcp三次握手四次挥手的原理及抓包过程
TCP报文段的首部格式
ip头(20bit) tcp头(20bit) tcp数据
tcpdump抓包产看三次握手过程
三、端口扫描
基于nmap的扫描方式
Nmap,也就是Network Mapper,最早是linux下的网络扫描和嗅探工具包。
nmap -sn 192.168.1.0/24
-sn 参数说明: 表示只ping扫描,不进行端口扫描

nmap -sS 114.114.114.114 -p 53,80.442
-p: 指定段考扫描; -s

全链接是扫描:
扫描会留下记录, SYN-> SYN+ACK ->ACK -> RST
半连接扫描:
扫描不会留下记录,SYN-> SYN+ACK -> RST
RST:reset标志位,rst表示复位,用来异常的关闭连接,发送rst包关闭连接时,不必等缓冲区的包都发出去(不想上面的fin包),直接就丢弃缓存区的包,发送rst包。而接受端收到rst包后,也不必发送ack包来确认。断开更快。
使用nc扫描端口
(1) 实现任意tcp/udp端口的侦听,nc可以作为server以tcp或udp方式侦听指定端口
(2)端口的扫描, nc可以作为clinet发起tcp或udp连接;
(3)机器之间传输文件;
(4)机器之间网络测速;
nc参数:
–n: 直接使用ip地址,而不通过域名服务器解析
-v: 显示指令执行过程
–w: 表示超时时间
-z: 表示使用0输入/输出模式,只在扫描通信端口时使用;

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

虚拟ip只在局域网内有用, 外网就没有意义了,攻击时显示的是公网ip(在瞬间发送100000个数据包,本地路由也会出现拥堵)