scapy学习笔记(5)
1、ACK Scan
>>>ans,unans=sr(IP(dst="www.baidu.com")/TCP(dport=[,],flags="A")
扫描后,若要找出未过虑的端口:
for s,r in ans:
if s[TCP].dport==r[TCP].sport:
print str(s[TCP].dport)+"is unfiltered."
过滤过的:
for s in unans:
print str(s[TCP].dport)+"is filtered."
2、Xmas Scan
>>>ans,unans=sr(IP(dst="192.168.1.1")/TCP(dport=,flags="FPU"))
RST表示端口关闭。
3、IP Scan
>>> ans,unans=sr(IP(dst="192.168.1.1",proto=(,))/"SCAPY",retry=)
4、ARP ping
>>> ans,unans=srp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst="192.168.1.0/24"),timeout=)
结果显示:
>>> ans.summary(lambda (s,r): r.sprintf("%Ether.src% %ARP.psrc%") )
5、ICMP ping
>>> ans,unans=sr(IP(dst="192.168.1.1-254")/ICMP())
结果显示用下面的语句:
>>> ans.summary(lambda (s,r): r.sprintf("%IP.src% is alive") )
6、TCP ping
>>> ans,unans=sr( IP(dst="192.168.1.*")/TCP(dport=,flags="S") )
结果显示用下面的语句:
>>> ans.summary( lambda(s,r) : r.sprintf("%IP.src% is alive") )
7、UDP ping
>>> ans,unans=sr( IP(dst="192.168.*.1-10")/UDP(dport=) )
结果:
>>> ans.summary( lambda(s,r) : r.sprintf("%IP.src% is alive") )
8、ARP cache poisoning
>>> send( Ether(dst=clientMAC)/ARP(op="who-has", psrc=gateway, pdst=client),inter=RandNum(,), loop= )
9、TCP Port Scanning
>>> res,unans = sr( IP(dst="target")/TCP(flags="S", dport=(,)) )
10、IKE Scanning
>>> res,unans = sr( IP(dst="192.168.1.*")/UDP()/ISAKMP(init_cookie=RandString(), exch_type="identity prot.")/ISAKMP_payload_SA(prop=ISAKMP_payload_Proposal()))
Visualizing the results in a list:
>>> res.nsummary(prn=lambda (s,r): r.src, lfilter=lambda (s,r): r.haslayer(ISAKMP) )
11、Advanced traceroute
(1)TCP SYN traceroute
>>> ans,unans=sr(IP(dst="4.2.2.1",ttl=(,))/TCP(dport=,flags="S"))
Results would be:
>>> ans.summary( lambda(s,r) : r.sprintf("%IP.src%\t{ICMP:%ICMP.type%}\t{TCP:%TCP.flags%}"))
192.168.1.1 time-exceeded
68.86.90.162 time-exceeded
4.79.43.134 time-exceeded
4.79.43.133 time-exceeded
4.68.18.126 time-exceeded
4.68.123.38 time-exceeded
4.2.2.1 SA
(2)UDP traceroute
>>> res,unans = sr(IP(dst="target", ttl=(,))/UDP()/DNS(qd=DNSQR(qname="test.com"))
We can visualize the results as a list of routers:
>>> res.make_table(lambda (s,r): (s.dst, s.ttl, r.src))
(3)DNS traceroute
>>> ans,unans=traceroute("4.2.2.1",l4=UDP(sport=RandShort())/DNS(qd=DNSQR(qname="thesprawl.org")))
Begin emission:
..*....******...******.***...****Finished to send packets.
*****...***...............................
Received packets, got answers, remaining packets
4.2.2.1:udp53
192.168.1.1
68.86.90.162
4.79.43.134
4.79.43.133
4.68.18.62
4.68.123.6
4.2.2.1
(4)Etherleaking
>>> sr1(IP(dst="172.16.1.232")/ICMP())
<IP src=172.16.1.232 proto= [...] |<ICMP code= type= [...]|
<Padding load=’0O\x02\x01\x00\x04\x06public\xa2B\x02\x02\x1e’ |>>>
(5)ICMP leaking
>>> sr1(IP(dst="172.16.1.1", options="\x02")/ICMP())
<IP src=172.16.1.1 [...] |<ICMP code= type= [...] |
<IPerror src=172.16.1.24 options=’\x02\x00\x00\x00’ [...] |
<ICMPerror code= type= id=0x0 seq=0x0 chksum=0xf7ff |
<Padding load=’\x00[...]\x00\x1d.\x00V\x1f\xaf\xd9\xd4;\xca’ |>>>>>
(6)VLAN hopping
>>> sendp(Ether()/Dot1Q(vlan=)/Dot1Q(vlan=)/IP(dst=target)/ICMP())
(7)Wireless sniffing
>>> sniff(iface="ath0",prn=lambda x:x.sprintf("{Dot11Beacon:%Dot11.addr3%\t%Dot11Beacon.info%\t%PrismHeader.channel%\tDot11Beacon.cap%}"))
The above command will produce output similar to the one below:
::::: netgear 6L ESS+privacy+PBCC
::::: wireless_100 6L short-slot+ESS+privacy
::::: linksys 6L short-slot+ESS+privacy
::::: NETGEAR 6L short-slot+ESS+privacy+short-preamble
scapy学习笔记(5)的更多相关文章
- scapy学习笔记(3)发送包,SYN及TCP traceroute 扫描
转载请注明:@小五义:http://www.cnblogs/xiaowuyi 在安装完scapy(前两篇笔记有介绍)后,linux环境下,执行sudo scapy运行scapy. 一.简单的发送包 1 ...
- scapy学习笔记(3)
转自:@小五义:http://www.cnblogs/xiaowuyi 在安装完scapy(前两篇笔记有介绍)后,linux环境下,执行sudo scapy运行scapy. 一.简单的发送包 1.se ...
- scapy学习笔记(2)--包及包的定义
转载请注明:@小五义:http://www.cnblogs/xiaowuyi 一.包 包(Packet)是TCP/IP协议通信传输中的数据单位,一般也称“数据包”.其主要由“目的IP地址”.“源IP地 ...
- scapy学习笔记(1)
转载请注明:小五义 http://www.cnblogs.com/xiaowuyi scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送.嗅探.解析和伪造网络数据包,常常被用到网 ...
- scapy学习笔记(2)
一.包 包(Packet)是TCP/IP协议通信传输中的数据单位,一般也称“数据包”.其主要由“目的IP地址”.“源IP地址”.“净载数据”等部分构成,包括包头和包体,包头是固定长度,包体的长度不定, ...
- scapy学习笔记
1.ACK Scan >>>ans,unans=sr(IP(dst="www.baidu.com")/TCP(dport=[80,666],flags=" ...
- scapy学习笔记(4)简单的sniffing 嗅探
转载请注明:@小五义:http://www.cnblogs/xiaowuyi 利用sniff命令进行简单的嗅探,可以抓到一些简单的包.当不指定接口时,将对每一个接口进行嗅探,当指定接口时,仅对该接口进 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
随机推荐
- python匿名函数lambda与switch的实现
1,lambda的语法跟es6的箭头函数差不多 >>> show=lambda x,y: x * y >>> show( 10, 20 ) 200 2,递归求阶乘 ...
- HDU1029(KB12-B)
Ignatius and the Princess IV Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32767 K ( ...
- MariaDB Centos7 下安装MariaDB
Centos7 下安装MariaDB by:授客 QQ:1033553122 1.下载安装文件 rpm包为例,对于标准服务器安装,至少需要下载client,shared,serve文件(安装时如果少了 ...
- 安卓逆向(一)--Smali基础
安卓逆向(一)--Smali基础 标签(空格分隔): 安卓逆向 APK的组成 文件夹 作用 asset文件夹 资源目录1:asset和res都是资源目录但有所区别,见下面说明 lib文件夹 so库存放 ...
- Expo大作战(二十六)--expo sdk api之Video和WebBrowser
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- JS前端创建CSV或Excel文件并浏览器导出下载
长期以来,在做文件下载功能的时候都是前端通过ajax把需要生成的文件的内容参数传递给后端,后端通过Java语言将文件生成在服务器,然后返回一个文件下载的连接地址url.前端通过location.hre ...
- 腾讯云自建MySQL数据库访问
1. 登陆腾讯云 https://cloud.tencent.com/ 2. 登陆控制台 https://console.cloud.tencent.com/ 3. 选择云主机 4. 选择重装系统 5 ...
- Debian 常用命令
换源 用中科大的比较快 deb http://mirrors.ustc.edu.cn/debian jessie main contrib non-free deb-src http://mirror ...
- 03-03_启动weblogic domain
本文重点: 直接启动weblogic 控制台访问 weblogic概念及手工启动脚本分析 启动weblogic 启动admin Server做了哪些事情 一.直接启动weblogic [roo ...
- 误删mysql表物理文件的解决方法(不涉及恢复数据)
该方法只介绍了如何救回这个表名(数据不恢复) 如果想要恢复原来数据 直接用extundelete把文件恢复后放回去即可 并且是适用于平时没有全备的情况下 如果有全备 直接那全备的frm和idb文件放 ...