Scapy常用操作和命令(4)

Scapy常用操作和命令(4)使用 dir 可以查看当前的临时变量 dir builtins a ans conf p r s unans nbsp make table 方法小结 make table 由一个 list 对象调用 接受一个返回值为 3 元祖的方法 返回的 3 元组的第一个参数为 table 的 X 轴 rowt

使用dir()可以查看当前的临时变量

>>> dir()

[‘__builtins__’, ‘a’, ‘ans’, ‘conf’, ‘p’, ‘r’, ‘s’, ‘unans’]

 

make_table方法小结:

make_table由一个list对象调用,接受一个返回值为3元祖的方法,返回的3元组的第一个参数为tableXrowtitle,第二个参数为Ycol title,第三个参数为X,Y位置显示的内容,例如:

>>> ans,unans=sr(IP(dst=”www.test.fr/30″, ttl=(1,6))/TCP())

Received 49 packets, got 24 answers, remaining 0 packets

>>> ans.make_table( lambda (s,r): (s.dst, s.ttl, r.src) )

  216.15.189.192  216.15.189.193  216.15.189.194  216.15.189.195

1 192.168.8.1     192.168.8.1     192.168.8.1     192.168.8.1

2 81.57.239.254   81.57.239.254   81.57.239.254   81.57.239.254

3 213.228.4.254   213.228.4.254   213.228.4.254   213.228.4.254

4 213.228.3.3     213.228.3.3     213.228.3.3     213.228.3.3

5 193.251.254.1   193.251.251.69  193.251.254.1   193.251.251.69

6 193.251.241.174 193.251.241.178 193.251.241.174 193.251.241.178

此外,make_lined_table()make_tex_table()make_table的两个变体,用法如下:

>>> ans.filter(lambda (s,r):r.sprintf(“%TCP.flags%”)==”SA”).make_lined_table(lambda (s,r):(s.dst,r.sport,”X”))

—-+—————-+—————-+

    | 172.31.100.127 | 172.31.100.149 |

—-+—————-+—————-+

80  | X              | X              |

135 | X              | X              |

139 | X              | –              |

445 | X              | –              |

902 | –              | X              |

912 | –              | X              |

—-+—————-+—————-+

>>> ans.filter(lambda (s,r):r.sprintf(“%TCP.flags%”)==”SA”).make_tex_table(lambda (s,r):(s.dst,r.sport,”X”))

\hline

 & 172.31.100.127 & 172.31.100.149 \\

\hline

80 & X & X \\

135 & X & X \\

139 & X & – \\

445 & X & – \\

902 & – & X \\

912 & – & X \\

\hline

 

Scapy可以定义自己的路由表,这样可以在不影响操作系统路由表的前提下测试路由:

>>> conf.route

Network         Netmask         Gateway         Iface

127.0.0.0       255.0.0.0       0.0.0.0         lo

192.168.8.0     255.255.255.0   0.0.0.0         eth0

0.0.0.0         0.0.0.0         192.168.8.1     eth0

>>> conf.route.delt(net=”0.0.0.0/0″,gw=”192.168.8.1″)

>>> conf.route.add(net=”0.0.0.0/0″,gw=”192.168.8.254″)

>>> conf.route.add(host=”192.168.1.1″,gw=”192.168.8.1″)

>>> conf.route

Network         Netmask         Gateway         Iface

127.0.0.0       255.0.0.0       0.0.0.0         lo

192.168.8.0     255.255.255.0   0.0.0.0         eth0

0.0.0.0         0.0.0.0         192.168.8.254   eth0

192.168.1.1     255.255.255.255 192.168.8.1     eth0

>>> conf.route.resync()

>>> conf.route

Network         Netmask         Gateway         Iface

127.0.0.0       255.0.0.0       0.0.0.0         lo

192.168.8.0     255.255.255.0   0.0.0.0         eth0

0.0.0.0         0.0.0.0         192.168.8.1     eth0

 

traceroute方法基于TCP,会同时给所有路径上的节点发送探测报文,好处是效率非常高,坏处是这样就不知道在哪个节点停止(默认最多30个节点),所以可以通过maxttl参数来限制跳数。可以指定多个目标:

>>> traceroute([“www.yahoo.com”,”www.altavista.com”,”www.wisenut.com”,”www.copernic.com”],maxttl=20)

Begin emission:

….*Finished to send 80 packets.

*

Received 74 packets, got 70 answers, remaining 10 packets

   188.125.66.105:tcp80 206.190.36.45:tcp80 211.39.140.160:tcp80 64.26.185.74:tcp80

1  172.31.100.1    11   172.31.100.1    11  172.31.100.1    11   172.31.100.1    11

2  172.31.99.1     11   172.31.99.1     11  172.31.99.1     11   172.31.99.1     11

3  172.30.1.17     11   172.30.1.17     11  172.30.1.17     11   172.30.1.17     11

4  172.30.1.5      11   172.30.1.5      11  172.30.1.5      11   172.30.1.5      11

5  106.120.78.189  11   106.120.78.189  11  106.120.78.189  11   106.120.78.189  11

6                      219.141.158.138 11                      219.141.158.138 11

7  59.43.77.1      11                      59.43.77.1      11                    

8  59.43.247.70    11   59.43.77.9      11  59.43.17.118    11   59.43.77.9      11

9  59.43.246.14    11   59.43.17.6      11                      59.43.17.6      11

10 59.43.183.74    11                      59.43.246.254   11                    

11 59.43.244.2     11   59.43.246.162   11  203.234.255.173 11   59.43.246.162   11

12 80.239.193.141  11   59.43.182.77    11  112.174.83.33   11                    

13 62.115.140.248  11   213.248.79.252  11  112.174.48.137  11   213.248.79.252  11

14 62.115.113.219  11   62.115.118.246  11  112.174.60.90   11   62.115.121.227  11

15 62.115.61.110   11   62.115.125.160  11  112.188.244.194 11   213.155.130.247 11

16 66.196.68.153   11   62.115.120.75   11  61.78.39.246    11   80.239.128.58   11

17 66.196.65.25    11   62.115.116.140  11  211.39.140.160  SA   64.230.79.90    11

18 217.146.186.73  11   62.115.61.122   11  211.39.140.160  SA   64.230.79.139   11

19 –                    216.115.101.109 11  211.39.140.160  SA   64.230.79.124   11

20 –                    66.196.67.101   11  211.39.140.160  SA   64.230.50.166   11

(
,

)

 

几个常用的Random函数:

RandShort():返回一个随机short

RandIP():返回一个随机IP地址

RandIP6():返回一个随机IPv6地址

RandMAC():返回一个随机MAC地址


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/214653.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午3:45
下一篇 2026年3月18日 下午3:45


相关推荐

  • c语言学生成绩管理系统(c语言链表实现学生管理系统)

    本代码供读者学习使用,请不要随意转载。一、设计题目:学生成绩管理系统二、目的与要求每位学生记录包含有学号、姓名、性别、出生日期、三门功课的成绩(高等数学、大学英语、C语言)、总分和平均分系统菜单:(1)录入学生记录(2)添加学生记录(3)删除学生记录(4)修改学生记录(要求输入密码)(5)查找学生记录(按学号、按姓名)(6)按总分对记录进行降序排列…

    2022年4月9日
    154
  • 免备案cdn_cdn贝安装

    免备案cdn_cdn贝安装免备案CDN,符码CDN应该是使用CDN贝搭建,该CDN系统相对来说比较成熟,功能支持比较丰富。今天对符码免备案CDN进行简单的测试,仅供大家参考。首先,就是简单粗暴的多地区PING大法,简单看下CDN延迟效果:如果要是对比那么多免备案CDN延迟来说,符码CDN平均可以做到45ms的延迟,无疑是测试的所有免备案CDN中多地区PING平均延迟最小的一个,甚至一些国内CDN也达不到这个低延迟效果,延迟…

    2025年8月30日
    8
  • python替换字符串元素_python替换字符串中的子串图文步骤「建议收藏」

    python替换字符串元素_python替换字符串中的子串图文步骤「建议收藏」python替换字符串中的子串图文步骤修改字符串本身是不可能的,因为字符串是不可变类型,只能是通过某些方法来产生它的副本。再把副本赋值给原字符串,达到类似替换的作用。这里介绍几种方法。旧串换新串:使用str.replace(old,new,max)1)字符串调用此函数时,将生成一个字符串的副本。副本中new将替代old。2)old-原来的子串。3)new-新子串,用于替换old。4)max-…

    2022年6月5日
    32
  • poj -2632 Crashing Robots

    poj -2632 Crashing Robots

    2022年1月14日
    38
  • sql中的联合查询「建议收藏」

    sql中的联合查询「建议收藏」我们在实际应用中,或许会用到关于sql的联合查询的应用,下面来总结一下联合查询的具体应用,做一下记录便于记忆。首先,通过一个实例来讲一下联合查询(关键词union)语法:select………unionselect……..union…….select*fromempoloyeeswhereemaillike”%a%”ordepartment_id>90;改用union的用法select*fromempol

    2022年5月12日
    42
  • vs2015(激活密钥)

    vs2015(激活密钥)专业版 HMGNV WCYXV X7G9W YCX63 B98R2 企业版 HM6NR QXX7C DFW2Y 8B82K WTYJV

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号