专栏首页python3Linux-Python-Scapy的T

Linux-Python-Scapy的T

  1. TCP 连接扫描: 客户端与服务器建立 TCP 连接要进行一次三次握手,如果进行了一次成功的三次握手,则说明端口开放;
  2. TCP SYN 扫描(也称为半开放扫描或stealth扫描): 这个技术同 TCP 连接扫描非常相似。同样是客户端向服务器发送一个带有 SYN 标识和端口号的数据包,如果目标端口开发,则会返回带有 SYN 和 ACK 标识的 TCP 数据包;
  3. TCP 圣诞树(Xmas Tree)扫描: 在圣诞树扫描中,客户端会向服务器发送带有 PSH,FIN,URG 标识和端口号的数据包给服务器。如果目标端口是开放的,那么不会有任何来自服务器的回应。如果服务器返回了一个带有 RST 标识的 TCP 数据包,那么说明端口处于关闭状态
  4. TCP FIN 扫描: FIN 扫描会向服务器发送带有 FIN 标识和端口号的 TCP 数据包。如果没有服务器端回应则说明端口开放。如果服务器返回一个 RST 数据包,则说明目标端口是关闭的。
  5. TCP 空扫描(Null): 在空扫描中,客户端发出的 TCP 数据包仅仅只会包含端口号而不会有其他任何的标识信息。如果目标端口是开放的则不会回复任何信息。如果服务器返回了一个 RST 数据包,则说明目标端口是关闭的。
  6. TCP ACK 扫描:ACK 扫描不是用于发现端口开启或关闭状态的,而是用于发现服务器上是否存在有状态防火墙的。它的结果只能说明端口是否被过滤。再次强调,ACK 扫描不能发现端口是否处于开启或关闭状态。客户端会发送一个带有 ACK 标识和端口号的数据包给服务器。如果服务器返回一个带有 RST 标识的 TCP 数据包,则说明端口没有被过滤,不存在状态防火墙。如果目标服务器没有任何回应或者返回ICMP 错误类型3且代码为1,2,3,9,10或13的数据包,则说明端口被过滤且存在状态防火墙。
  7. TCP 窗口扫描: TCP 窗口扫描的流程同 ACK 扫描类似,同样是客户端向服务器发送一个带有 ACK 标识和端口号的 TCP 数据包,但是这种扫描能够用于发现目标服务器端口的状态。在 ACK 扫描中返回 RST 表明没有被过滤,但在窗口扫描中,当收到返回的 RST 数据包后,它会检查窗口大小的值。如果窗口大小的值是个非零值,则说明目标端口是开放的。 一、SYN扫描: i=IP() t=TCP() i.dst='10.202.32.0/24'/连续地址段 t.sport=8888 t.dport=[3389,80,21,22,23,443,445,137,138,139]/(1,1024) []表示多个端口,()表示连续端口 repose=(i/t) repose=(i/t) t.flags='S'/产生标志位也可以写数据例如ACK写16

从下到上FIN—SYN—RST—PSH—ACK—URG 1 2 4 8 16 32

ans,unans=sr(respose) ans.show() 0000 IP / TCP 192.168.80.250:8888 > 10.202.32.1:ssh S ==> IP / TCP 10.202.32.1:ssh > 192.168.80.250:8888 SA / Padding 0001 IP / TCP 192.168.80.250:8888 > 10.202.32.74:microsoft_ds S ==> IP / TCP 10.202.32.74:microsoft_ds > 192.168.80.250:8888 SA / Padding 0002 IP / TCP 192.168.80.250:8888 > 10.202.32.74:netbios_ns S ==> IP / TCP 10.202.32.74:netbios_ns > 192.168.80.250:8888 RA / Padding 0003 IP / TCP 192.168.80.250:8888 > 10.202.32.74:netbios_ssn S ==> IP / TCP 10.202.32.74:netbios_ssn > 192.168.80.250:8888 SA / Padding 对数据进行监控: sniff(iface="eth0",prn=lambda x:x.show() ) 对数据进行查看处理: ans.summary( lambda(s,r): r.sprintf("%IP.src% \t %TCP.sport% \t %TCP.flags%") ) 10.200.230.1 ssh SA 10.200.230.11 3389 SA 10.200.230.11 loc_srv SA 10.200.230.11 microsoft_ds SA 10.200.230.12 3389 SA 10.200.230.12 https SA 10.200.230.40 3389 SA 10.200.230.41 3389 SA 10.200.230.42 loc_srv SA 10.200.230.42 microsoft_ds SA 10.200.230.50 3389 SA 二、TCP ACK 扫描; i=IP() i.dst='10.200.193.0/24' t=TCP() t.flags='A' t.sport=9999 t.dport=[3389,21,22,23,80,443] respose=(i/t) ans,unans=sr(respose) ans.show() 0000 IP / TCP 192.168.80.250:9999 > 10.200.193.0:3389 A ==> IP / TCP 10.200.193.0:3389 > 192.168.80.250:9999 R / Padding 0001 IP / TCP 192.168.80.250:9999 > 10.200.193.0:ftp A ==> IP / TCP 10.200.193.0:ftp > 192.168.80.250:9999 R / Padding 0002 IP / TCP 192.168.80.250:9999 > 10.200.193.0:ssh A ==> IP / TCP 10.200.193.0:ssh > 192.168.80.250:9999 R / Padding 0003 IP / TCP 192.168.80.250:9999 > 10.200.193.0:telnet A ==> IP / TCP 10.200.193.0:telnet > 192.168.80.250:9999 R / Padding 如果服务器返回一个带有 RST 标识的 TCP 数据包,则说明端口没有被过滤,不存在状态防火墙。 对数据进行监控: sniff(iface="eth0",prn=lambda x:x.show() ) 对数据进行查看处理: ans.summary( lambda(s,r): r.sprintf("%IP.src% \t %TCP.sport% \t %TCP.flags% \t %ICMP.type%") ) 10.200.193.1 3389 R ?? 10.200.193.1 ftp R ?? 10.200.193.1 ssh R ??

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python中send()和sendal

    通信术语 最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)

    py3study
  • C3-Squid-access.log

    1 以下是3天的 squid access.log,平均每天的access.log 为1.4GB

    py3study
  • 网络传输模型/TCP协议/IP地址

    说明二: 网络编程,主要是了解我们Python能编写的最低的层次, 即传输层的基本情况。

    py3study
  • 哈哈哈,求人办事,切勿 UDP 方式啊,还是 TCP 靠谱呀 [允悲][允悲][允悲]

    1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接

    良月柒
  • 头条二面问网络传输如何保证可靠性?我差点翻车了

    如果你还在参加春招,不管是社招还是校招。龙叔都想唠叨几句,今年整体经济形势很差,可能有些人还没意识到有多差,但我相信很多人都能感受到。很多公司入不敷出,基本都在...

    龙跃十二
  • GitHub 标星过万!腾讯技术官发布的“神仙文档”图解网络

    互联网世界中,网络协议的重要性不言而喻。很多人都知道,网络协议中的五层模型或者七层模型,这些在操作系统中,那都是“必考题”。上学的时候,无论是死记硬背,还是各种...

    烂猪皮
  • TCP 是什么?面试时必须知道吗?

    你学习英语时会只背单词不学语法吗?显然不可能,那 TCP 也是一样的,作为计算机网络非常重要的内容,规范了网络传输过程的状态,格式等。

    CSDN技术头条
  • TCP 是什么?面试时必须知道吗?

    你学习英语时会只背单词不学语法吗?显然不可能,那 TCP 也是一样的,作为计算机网络非常重要的内容,规范了网络传输过程的状态,格式等。

    用户1737318
  • TCP:一个悲伤的故事

    通过本文相信读者能更深刻地理解 TCP 协议,它是个面向连接的可靠传输协议,提供了复杂的拥塞控制与流量控制的功能。当然 TCP 协议博大精深,文中只是介绍了一些...

    kunge
  • 端口的常用端口

    端口号---具有网络功能的应用软件的标识号。注意,端口号是不固定的,即可以由用户手工可以分配(当然,一般在软件编写时就已经定义)。当然,有很多应用软件有公认的默...

    98k

扫码关注云+社区

领取腾讯云代金券