Scapy安装以及简单使用

参考文档

scapy官方文档

前言

scapy是一个可以模拟发送报文的python程序,使用了它从此发包不愁。

安装

1、首先得安装Python2.7

​ 在linux系统下还是简单一点

sudo apt-get install python2.7

2、其次安装部分依赖

sudo apt-get install tcpdump graphviz imagemagick python-gnuplot python-cryptography python-pyx

3、最后最简单的,安装scapy

sudo apt-get install python-scapy

由于上述步骤走的还是官方文档,笔者装的时候会出现第2歩的某些依赖没有安装上,不过没有关系,你可以现在终端sudo scapy,然后终端会提示出一些库无法引用,这个时候还是本着缺啥装啥的路子,缺啥就

sudo apt-get install python-xxx(提示的库)

成功后,出现如下(congradulation)

Welcome to Scapy (2.3.3)
>>>

模拟发包,并抓住它

1、一个基本命令ls()

>>> ls(IP)
version : BitField (4 bits) = (4)
ihl : BitField (4 bits) = (None)
tos : XByteField = (0)
len : ShortField = (None)
id : ShortField = (1)
flags : FlagsField (3 bits) = (0)
frag : BitField (13 bits) = (0)
ttl : ByteField = (64)
proto : ByteEnumField = (0)
chksum : XShortField = (None)
src : SourceIPField (Emph) = (None)
dst : DestIPField (Emph) = (None)
options : PacketListField = ([])
>>> ls(IP)
version : BitField (4 bits) = (4)
ihl : BitField (4 bits) = (None)
tos : XByteField = (0)
len : ShortField = (None)
id : ShortField = (1)
flags : FlagsField (3 bits) = (0)
frag : BitField (13 bits) = (0)
ttl : ByteField = (64)
proto : ByteEnumField = (0)
chksum : XShortField = (None)
src : SourceIPField (Emph) = (None)
dst : DestIPField (Emph) = (None)
options : PacketListField = ([])
>>> ls(UDP)
sport : ShortEnumField = (53)
dport : ShortEnumField = (53)
len : ShortField = (None)
chksum : XShortField = (None)

可从上面输出结果可知,ls()原来就是查看数据包的结构

2、简单发个ping包

>>> a=IP(dst='123.123.123.123')
>>> a
<IP dst=123.123.123.123 |>
>>> a=a/ICMP()
>>> a
<IP frag=0 proto=icmp dst=123.123.123.123 |<ICMP |>>
>>> send(a)
.
Sent 1 packets.

wireshark抓包可得,



抓住了这个ping包

最新文章

  1. 前端之ajax
  2. [Android Pro] Scroller使用分析
  3. Easyui datagrid 显示隐藏列
  4. 【XLL 框架库函数】 QuitFramework
  5. 【Java EE 学习 23】【log4j的使用】【ant的使用】【内省】
  6. Java在方法作用域内创建的内部类
  7. 平衡二叉树(AVL)c语言实现
  8. BZOJ 1925[Sdoi2010]地精部落 题解
  9. Java学习笔记(十九)——Java 日志记录 AND log4j
  10. Windows下LDAP服务器配置
  11. Xcode集成Google Test
  12. 关于GC进行垃圾回收的时机
  13. 【UVA 1380】 A Scheduling Problem (树形DP)
  14. pyqt小例子 音乐盒
  15. Oracle Sql优化之分层查询(connect by)
  16. IIS中遇到无法预览的问题(HTTP 错误 401.3 - Unauthorized 因为 Web server上此资源的訪问控制列表(ACL)配置或加密设置,您无权查看此文件夹或页面。)
  17. DS博客作业01—日期抽象数据类型设计与实现
  18. Linux重启命令
  19. Select2 添加默认值
  20. JAVA构造方法与方法是啥意思,方法重载方法覆盖俗谈

热门文章

  1. NOIP模拟赛-2018.11.6
  2. yarn的学习-2-从 npm 迁移到 yarn-包管理工具
  3. velocity模板实战
  4. servlet3.0
  5. java中线程的几种状态和停止线程的方法
  6. 欢迎到我的新Blog!
  7. Scala--映射和元组
  8. Nginx 服务器的安装部署(CentOS系统)
  9. mfc 虚函数
  10. C语言学习之联合类型