数据包处理利器——Scapy高级使用(一)荐

> 欢迎关注个人公众号:运维开发故事
## 主机探测
### **TCP SYN Ping**
- 发送仅设置了SYN的空TCP数据包。
- SYN/ACK或RST响应表示机器已启动并正在运行。
```
>>&处理器性能排行榜gt; an利器盒有效期s,unans=sr(IP(dst="60.205.177.0/28")/T数据包obb下载安卓CP(dpor数据t=80,flags="S"))
Begin emission:
Finished sending数据包mtu设置多少 16 packets.
.*********.数据漫游是什么意思......................利器是什么意思..................数据包obb下载官方.........................................^C
Received 92 packets, got 9 answers, remaining 7 packets
>>> ans.summary(l数据包mtu设置多少ambda s:s[1].sprintf("%IP.src% is alive"))
60.处理器排行榜205.177.1 is alive
60.205.177.capital2 is alive
60.205.177.4 is alive
60.205.177.6 is a处理器排行榜手机live
60.205.177.7 is alive
60.处理器排行榜手机205.177.8 is alive
60.205.177.11 is alive
60.205.177.12 is alive
60.205.177.14 is alive
```
### **TCP ACK Ping**
- 发送仅设置了ACK位的空TCP数据包。
- 未经请求的ACK数据包应通过RST进行响应,RST显示一台机器。
-处理 SYN-ping和A利器盒有效期CK-ping看起来可能是多余的,但是大多数无状态防火墙不会过滤未经请求的ACK数据包,所以最好同时使用这两种ping技利器是什么意思术。
```
>>> ans, unacapns = sr(IP(dst='60.205.177.90-105')/TCP(dport=80, flags='A'))
Begin emission:
Finished sen数据包obbding 16 packets.
.*.******................................数据透视表................................数据分析..............................................数据包在什么层称为比特......................................................^C
Received 173 packets, got 7利器盒规格型号 answers, remaining 9 packets
>>> ans.summary(lambda s:s[1].sprintf("{IP: %IP.src% is alive}"))
60.205.177.91 is alive
60.205.177.94 is a数据包络分析法live
60.205.177利器是什么意思.95 is alive
60.205.177.97 is alive
60.205.177.100 is alive
60.205.177.101 is alive
60.205.17处理器7.102 is alive
```
### **UDP Ping**
- 将UDP数据包发送给给定的端口(无论是否带有有效载荷),协议利器盒满三分之二还是4分之3封口特定的有效载荷会使扫描更加处理器性能排行榜有效。
- 选择最有可能关闭的端口(开放的UDP端口可能会收到空数据包,但会忽略它们)。
- ICMP端口不可达表示机器是启动的。
```
>>> ans, unans = sr(IP(dst='60.205.177.100-2caps54')/UDP(dport=9数据包obb0),timeout=0.1)
Begin emission:
Finished sending 155 pac利器盒多久更换一次ke利器美剧ts.
..******..*****caps...
Received 18 packets,数据包obb got 11 answers, remaining 144 packets
>>> ans.summary(lambda s:s[1].sprintf("%IP.src% is unreachable"))
60.205.177.106 is unreachable
60.205.177.108 is unreachable
60.205.177.107 is unreachabl数据结构e
60.205.177.111 is unr数据eachable
60.205.177.125 is unreachable
60.205.177.172 is unreachable
60.205.177.caps191 is unr数据废土eachable
60.205.177.203 is unreachable
6cap是什么意思0.205.177.224 is unreachable利器
60.205.177.242 is unreachable
60.205.177.244 is unreachable
```
### **ARP P利器盒有效期ing**
- 在同一网络/ LAN上探测存活主机时,可以使用ARP Ping。
- 更快,更可靠,因为它仅通过ARP在第2层上运行。
- ARP是任何第2层通信的骨干协议
> - 由于在 IPv6 中没有 ARP协议数据透视表,所以在 IPv6 上层定义了 NDP 协议实现 ARP 的地址解析,冲突地址检测等功能以及IPV数据包obb6 的邻居发现功能。
```
>>> ans,unans=srp数据包文件怎么打开(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst="172.17.数据分析51.0/24"),ti数据库meout=2)
Begin emission:
Finished sending 256 packets.
*****capability************数据包文件怎么打开**************************************************************.*****************数据分析师******************************************************************...........................
Receivcaped 190 packets, got 162 answers, remaining 94 packets
>>> ans.summary(lambda r: r[0].s利器print数据包f("%Ecapablethe数据包mtu设置多少r.sr处理器排行榜c% %ARP.pd处理的拼音st%") )
00:16:3e:0c:d1:ad 172.17.51.0
00:16:3e:0c:d1:ad 17数据包2.17.51.1
00:16:3e:0c:d1:ad 172.17.51.2
00:1处理违章需要带什么证件6数据包络分析法:3e:0c:d1:ad 172.17.51.3
00:16:3e:0c:d1:ad 17利器盒的使用时间2.17.51.4
00:16:3e处理甲醛公司:0c:d1:ad 172.17.51.利器盒的正确使用方法5
00:16:3e:0c:d1:ad 172.17.51.6
00:16:3e:0c:d1:capitalad 172.17.51.7
```
### **ICMP Ping**
- ICMP扫描涉及无处不处理违章需要带什么证件在的_ping程序_发送的标准数据包。
- 向目标IP发送一个ICMP类型8(回显请求)数据包,收到一个ICMP类型0(回显应答)的包表示机器存活。
- 现在许多主机和防火墙阻止这些数据包,因此基本的ICMP扫描是不可靠的。
- ICMP还支持时间戳请求和地址掩码请求,可以显示计算机的可用性。
```
>>> ans,ucapturenans=sr(IP(dst="60.205.1处理器77.168-180")capture/ICMP())
>>>处理器排行榜 ans.summary(lambda s数据包文件怎么打开:s[0].sprintf("{IP: %IP.dst% is alive}"))
60.205.177.168 is al利器盒ive
60.205.177capital.169 is alive
60.205.177.171 is alive
60.205.177.172 is alive
60.205.177.175 is alive
60.205.177.174 is alive
60.205.177.176 is alive
60.205.177.179 is alive
60.205.177.178 is alive
60.205.177.180 is alive
```
## 服务发现(端口扫描)
### TCP连接扫描
找了个网图(caps是哪个键 侵删)
![](https://s利器盒的正确使用方法4.51cto.com/images/blog/202105/26/5630519938d2dfdb92ea6ab9207dfdd8.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_F数据包过滤防火墙FFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
这里展示一下tcp数据包在什么层称为比特dump抓到的握手包
```数据库
192.168.2.1.35555 > 192数据分析.168.2.12.4444: Flags [S] seq=12345
192.168.2.12.4444 > 192.168.2.1.35555: Flags [S.], seq=9998 ack=12346
192.168.2.1.35555 > 192.168.2.12.4444: Flags [.] seq=12346 ack=capture9999
```
IP与端口号之间以'.'分隔,ACK用'数据包文件怎么打开.'表示,SYN用'S'表示,而[S.]则表示SYN+ACK
#### 在Scapy中制作三次握手包
**第1步-将客户端的SYN发送到侦听服务器**
- 使用源IP地址和目标IP地址制作一个IP头。
- 制作一个TCP标头,在其中生成TCP源端口,设置服务器侦听的目标端口,设置TCP的flag SYN,并生成客户端的seq。
```
ip=IP(src="ht利器盒有效期tps://blog.51cto.com/u_12970189/2817565/192.168.2.53", dst="60.205.177.168")
sy数据包obb下载官方n_packet = TCP(sport=1500, dport=80, flags="S", seq=100)
```
**第2步-监听服务器处理器性能排行榜的响应(SYN-ACK)**
- 保存服务器的响应。
- 获取服务器的数据包是什么意思TCP序列号,并将该值加1。
```
synack_pac处理器排行榜ket = sr1(ip/syn_packet)
my_ack = synack_packecapablet.seq+1
```
**第3数据包在什么层称为比特步从客户端发送对服务器响应的确认(ACK)**
- IP标头与初始SYN数据包具有相利器盒有效期多长时间同的源和目标。
- TCP报头具有与syn数据包obb下载安卓数据包相同的TCP源端口和目标端口,仅设置ACK位,由于SYN数据包消耗一个序列号,因数据包文件怎么打开此将客利器户端的IcapsSN递增1,将确认值设置为递增的服务器的序列号值。
```
ack_packet = TCP(sport=1500, dport=80, flags="A", seq=101, ack=my_ack)
send(ip/ack_packet)
```
完整代码如下
```
#!/usr/bin/python
from scapy.all import *
# 构建payload
get='GET / HTTP/1.0\n\n'
#设置目的地址和源地址
ip=IP(src="htt处理ps://blog.51cto.com/u_12970189/2capture817565/192.16利器盒规格型号8.2.53",dst="60.205.177.168")
# 定义一个随机源端口
port=Rand处理器排行榜Num(1024,65535)
# 构建SYN的包
SYN=ip/TCP(sport=port, d数据结构port=80, flags="S", seq=42)
# 发送SYN并接收服务器响应(SYN,ACK)
SYNACK=数据包mtu设置多少sr1(SYN)
#构建确认包
ACK=ip/TCP(sport=SYNACK.dport,dport=80,flags="A",seq=S处理器天梯排行榜YNACK.ack,ack=SYNACK.seq+1)/get
#发处理器天梯排行榜送ack确认包
re处理的拼音ply,error=sr(ACK)
# 打印响应结果
print(reply.scapshow())
`cap是什么意思``
### SYN扫描
SYN扫描也称为半开放扫描。可以使用这种策略来确定通信端口的状利器态而无需建立完整的连接。客户端首先向被测主机发送一个sy数据包括n数据包,如果端口开放,那么服务端会响应一个syn+ack的数据包,之后客户端会发送rst数据包进行处理违章需要带什么证件重置。否则服利器是什么意思务端会直处理违章接响应一个rst包,表示端口没有开放。如果我们发了大量的syn包而不去确认,服务端会继续发送syn+ack的包,会不数据分析断的消耗服务器的CPU和内存,这也就是我们常说的syn泛洪***了。
![](https://s4.51cto.com/images/b数据包文件怎么打开log/202105/26/76c122c03091982b61d9568a7d871aa4.pn数据包obbg?x-oss-数据恢复process=image/watermar数据包mtu设置多少k,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGcaps是哪个键VpdGk=)
![](https://s4.51cto.com/images/利器是什么意思blog/202105/26/b50ade360fa6ec4049b67e5d4利器是什么意思ea8fd28.png?x-oss-process=image/wat数据分析ermark,size_14,capetext_QDUxQ1RP5Y2a5a6i,colo数据恢复r_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3数据透视表poZW5naGVpdGk=)
接下来我们使用scapy来模拟syn扫描
##capital## 在单个主机,单个端口上数据包obb下载官方进行SYN扫描
- 使用`sr1`功能发送并响应数据包
- 使用`sprintf`方法在响应中打印字段。(“ SA”标志表示开放的端口,“ RA”标志表示关闭的端口)
```
>>> syn_packet = IP(dst='60.205处理器排行榜.177.168')/TCP(dport=22,flags='S')
>>> rsp=sr1(syn_packet)
Begin emission:
Finis处理器排行榜手机hed sending 1 packets.
..*
Received 3 packets, got 1 ans利器盒多久更换一次wers, remaining 0 packets
>>> rsp.sprintf("%IP.src% %T数据分析师CP.sport% %TCP.flags%")
'60.205.177.168 ssh SA'
```
#### 在单个主机,多个端口上进行SYN扫描
```
>>&g数据废土t; ans,unans=sr(IP(dst="60.205.177.168")/TCP(dport=(20,22),flags="S"))
Begin emission:
Finished sending 3 packets.
..*..**
Received 7 packets, got利器盒有效期多长时间 3 answ利器是什么意思ers, remaining 0 packets
>>> ans.summary(lambda s:s[1].sprintf("%TCP.sport% %TCP.flags%" ))
ftp_data R数据库A
ftp RA
ssh SA
```
#### 对多个主机,多个端口进行SYN扫描
- `make_table`接受三个值,行,列和表数据。(在下面的示例中,目标IP位于x轴上,目标端口位于y轴上,响应中的TCP标志是表格数据)
60.205caption.177.169的2处理违章需要带什么证件0和22端口没有响应数据包,数据包过滤防火墙猜测中间可能有设备(防火墙)给拦下了。
```
>>>数据包mtu设置多少 ans,unans =处理甲醛公司 sr(IP(dst=["60.205.177.168-170"])/TCP(dpocapabilityrt=[20,22,80],flags="S"))
Begin emission:
Finished sending 9 packets.
..*..*利器盒的使用时间*..*..............................................................................................capture........................数据..............................处理器排行榜.......................利器盒........................................利器盒规格型号..............................^C
Received 251 packets, got 4 answers, r数据包文件怎么打开emaining 5 packets
>>> ans.make_table(lambda s: (s[0].dst, scapture[0].dport,s[1].sprintf("capture%TCP.flags%")))
60.205.177.168 60.205.177.1数据科学与大数据技术专业69
20 RA -
22 SA -
80 SA SA
```
### Fin 扫描
客户端会发送带有fin标志(关闭连接)的数据包到服务端,当服务端没有响应时,表示端口是开放状态,否则会收到rst的包。
![](https://s4.51cto.com/images/数据包blog/202105/26/f9利器美剧cbc57157处理的拼音ea85cfb55cfae270e22d19.png?x-oss-process=image/处理的拼音watermark,sizcaps是哪个键e_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_处理器100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVp数据透视表dGk=)
#### 端口开放
```
>>> fin_packet = IP(dst='60.205.177.168')/TCP(dport=4444,flags='F')
>>> resp = sr1(fin_packet)
Begin emission:
Fincapitalished to send利器盒多久更换一次 1 packets.
^C
Received 0 packets, got 0 answers, remaining 1 p处理违章需要带什么证件ackets
`利器美剧``
#### 端口关闭
```
>>> fin_packet = IP(dst='60.205.177.168')/TCP(dport=4399,flags='F数据包是什么意思')
>>>caps是哪个键 resp = sr1(fin_packet)
>>> resp.sprintf('%TCP.flags%')
'RA'
```
### NULL 扫描
null扫描会发送一个没有设置任何flag的TCP数据包,当收到caps是哪个键rst的响应包则表示端口关闭,否则表示端口开放,如果收到类型为3且代码为1、2、3、9、10或13的ICMP错误表示该端口已被过滤,获取不到端口状态。
![](https://s4.51cto.com/images/blog/202105/26/23fda590d4da239a4c10d8caps是哪个键8353c5b88e.jpg?x-oss-process=image/watermark,s数据科学与大数据技术专业ize_14,text_数据包括QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5n数据结构aGVpdGk=)caps
![](https://s4.51cto.com/images/blog利器盒满三分之二还是4分之3封口/202105/26/6f7064c1500ef403c2c3a616ae649858.jpg?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,co数据包是什么意思lor数据包mtu设置多少_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naG处理器排行榜手机VpdGk数据科学与大数据技术专业=)
![](htcapstps://s4.51cto.com/images/blog/202105/26/eb5处理甲醛公司ce44df6c5d707324599利器盒有效期多长时间f2f0eec3b5.jpg?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shado数据分析w_20,type_ZmFuZ3poZW5naGVpdGk=)
#### 端口关闭
```
>&数据包是什么意思gt;> null_scan_re利器盒多久更换一次sp = sr1(IP(dst="60.205.177.168")/TCP(dport=4399,fla数据科学与大数据技术专业gs=""),time处理器out=1)
>>> null_scan_resp.sprintf('%TCP.flags%')
'RA'
```
### Xmas 扫描
XMAS扫描会发送带有URG处理甲醛公司,PUSH,FIN标志的TCP数据包,如果未接收到任何数据包,则认为该端口处于打开状态;如果接收到RST数据包,则将该端口视为已关闭。如果收到类型为3且代码为1、2、3、cap是什么意思9、10或13的ICMP错误表示该端口已被过滤,获取不到端口状态。
![](https://s4.51cto数据包是什么意思.com/images/blog/202105/26/596508f1babe21c86cd9816822fab679.jpg?x-oss-process=ima数据包obbge/watermark处理器,size_14,处理器排行榜手机text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
![](处理网https:capsule//s4.51cto.com/images/blog/202105/26/a7ed6fd13b985bb4d85cc400a7516d26.jpg?x-oss-数据包过滤防火墙proccaps是哪个键ess=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
#### 端口关闭
```
>>> xmas_scan_resp=sr1(IP(dst="60.205.177.168")/TCP(dport=4399,flags=”FPU”),timeout=1)
Begin emission:
.Finished sending 1 packets.
*
Received 2 packets, got 1 answers, remaining 0 packets
>>> xmas_scan_resp.sprintf('%处理器天梯排行榜T数据包是什么意思CP.flags%')
'R处理网A'
```
### UDP扫描
UDP扫描最常见于检测DNS,SNMP和DHCP服利器盒的使用时间务。客户端会发送带有要连capital接的端口号的UDP数据包。如果服务器使用UDP数据包响应客户端,那么该端数据包obb下载安卓口在服务器上是开放的。如果返回ICMP端口不可达的类型为3和code为3错误数据caps是哪个键包,表示该端口在服务器是关闭状态。
![](https://s4.51cto.com/images/blog/202105/26/ccd7e07b1057aac3ca546ecap是什么意思ccaps是哪个键8f4c3181b.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFu利器是什么意思Z3poZW5naGVpdGk=)
> udp_scan=scap是什么意思r1(IP(dst="60.205.177.168")/UDP(dport=53),timeout=1))
```
## 跟踪路由
- 跟踪路由技术基于IP协议的设计方式。IP标头中的TTL值被capable视为跳数限数据恢复制。每当路由器收到要转发的数据包时,它将TTL减1并转发数据包。当TTL达到0时,路由器将向源计算机发送答复,表示数据包已被丢弃。
- 各种工具背后的技术是相同的,但是实现它们的方式略有不同。Unix系统使用UDP数据报文,而Windows tracert则发送ICMP请求,Linux的tcptraceroute使用TCP协议。
### 使用ICMP进行路由跟踪
```
>>> ans,unans=sr(IP(dst="49.232.152.189",ttl=(1,10))/cap是什么意思ICMP())
Begin emission:
Finished sending 10 packets.
*****.**数据透视表........数据分析师....利器美剧................处理器天梯排行榜....利器盒的正确使用方法........................................................................^C
Received 112 packets, got 7 answe数据包是什么意思rs, remaining 3 packets
>>> ans.summary(lambda s:s[1].sprintf("%IP.src%"))
10.36.76.142
10.54.138.21
10.36.76.13
45.112.216.134
103.216.40.18
9.102.250.221
10.caps是哪个键102.251.214
```
### 使用tcp进行路由跟踪
```
>>&g利器盒满三分之二还是4分之3封口t; ans,unans=sr(IP(dst="baidu.com",ttl=(1,10))/TCP数据包文件怎么打开(dport=53,flags="S"))
Begin emission:
Finished sending 10 packets.
*********......................^C
Received 31 packets, got 9 answers, remaining 1 packets
>>> ans.summary(lambda s:s[1].sprintf("%IP.src% {I处理器排行榜CMP:%ICMP.type%}"))
10.36.76.142 time-exceeded
10.36.76.13 time-ex利器盒的正确使用方法ceeded
10.102.252.130 time-exceeded数据分析师
117.49.35.150 time-exceeded
10.102.34.237 time-exceeded
111.13.123.150 time-exceeded
218.206.88.22 time-exceeded
39.156.67.73 time-exceeded
39利器.156.27.1 time-exceeded
```
Scapy包含一个内置的tracer利器盒多久更换一次oute()函数可以实现与上面相同的功能
```
>>> traceroute("baidu.com")
Begin emcapsission:
Finished sending 30 packets.
*****************利器美剧*******
Received 24 p数据包文件怎么打开ackets, g处理网ot 24 answer数据包过滤防火墙s, remaining 6 packets
220.数据包obb下载安卓181.38.148:tcp80
2 10.36.76.13 11
3 10.102.252.34 11
4 117.49.35.138 11
5 1利器盒有效期多长时间16.251.1利器盒的使用时间12.185 11
6 36.110.21处理7.9 11
7 36.110.246.201 11
8 220.181.17.150 1capable1
14 220.181.38.148 SA
15数据恢复 220.181.38.148 SA
16 220.181.38.148 SA
17 220.181.38.148 SA
18 220.181.38.148 SA
19 220.181.38.148 SA
20 220.181.38.capsule148 SA
21 220.181.38.148 SA
22 220.181.38.148利器是什么意思 SA
23 220.181.3处理器性能排行榜8.148 SA
24 220.181.38.148 SA
25 220.181.38.14利器盒的正确使用方法8 SA
26 220.181.38.148 SA
27 220.18处理的拼音1利器盒的使用时间.38.148 SA
28 220.181.38.capture148 SA
29 220.181.38.148 SA
30 220.181.38.148 SA
(,

```
### 使用DNS跟踪路由
我们可以通过在traceroute()函数的l4参数中指定完整的数据包来执行DNS跟踪路由
```
>&capsgt;> ans,unans=traceroute("60.205.177.168",l4=UDP(sport=RandShort())/DNS(qd=DNSQR利器盒的使用时间(qname="thesprawl.org利器盒规格型号")))
Begi处理器n emission处理违章:
****Finished sending 30 packets.
.................
Received 21 packe处理甲醛公司ts, got 4 answer数据包是什么意思s, remaining 26 packets
60.205.177.168:udp53
1 10.2.0.1 11
2 114.242.29.1 11
4 125.33.18处理器性能排行榜5.114 11caps是哪个键
5 61.49.143.2 11
`数据包括``
![](h处理违章需要带什么证件ttps://s4.51cto.com/images/blog/202105/26/446a4e013604a3dfe58634232b6fed58.png?x-oss-pro数据漫游cecaps是哪个键ss=image/watermark,size_14,处理器text_处理器天梯排行榜QDUxQ1RP5Y2acapture5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,s处理器天梯排行榜hadow_20,type_ZmFuZ3po数据包obb下载安卓ZW5naGVpdGk=)