python2.7使用scapy发送syn实例


Posted in Python onMay 05, 2020

我就废话不多说了,大家看代码吧!

from scapy.all import *
 
def syn():
 scrIP = '192.168.10.29'
 srcPort = 23345
 desIP = '12.39.27.23'
 desPort = 8000
 
 ip = IP(src=scrIP, dst=desIP)
 tcp = TCP(sport=srcPort, dport=desPort, seq=13131342, flags='S')
 pkg = ip/tcp
 
 # c->s syn
 res = sr1(pkg)
 res.display()

补充知识:用python 通过ip获取mac和网卡类型(同一网段)

通过网上查阅目前找到的几种方式

环境使用window和linux系统

使用nmap,python-nmap需要依赖机器安装nmap工具

import nmap
nm=nmap.PortScanner()
nm.scan('xxx.xxx.xxx.xxx','xx') # ip地址和端口,端口不填也可以
a=nm['xxx.xxx.xxx.xxx'] #返回主机的详细信息
print(a)
##################################
{'status': {'state': 'up', 'reason': 'arp-response'}, 
'hostnames': [{'type': 'PTR', 'name': 'bogon'}], 
'vendor': {'00:0C:29:F6:2B:F0': 'VMware'}, 
'addresses': {'mac': '00:0C:29:F6:2B:F0', 'ipv4': 'xxx.xxx.xxx.xxx'}, 
'tcp': {111: {'product': 'Microsoft Windows 7 - 10 microsoft-ds', 'state': 'open', 'version': '', 'name': 'microsoft-ds', 'conf': '10', 'extrainfo': 'workgroup: WORKGROUP', 'reason': 'syn-ack', 'cpe': 'cpe:/o:microsoft:windows'}}}

这种方式获取非常简单,但是会耗费很大的时间,不建议使用

通过控制台命令arp -a

def output_cmd(command):
 r = os.popen(command)
 content = r.read()
 r.close()
 return content


def arp_command(ip_address):
 ping_cmd = "ping " + ip_address + " -n 2 "
 result = output_cmd(ping_cmd)
 find_ttl = result.find("TTL")
 if find_ttl != -1:
  arp_cmd = "arp -a %s" % ip_address
  arp_result = output_cmd(arp_cmd)
  ip2 = ip_address + " [ ]+([\w-]+)"
  ip2_mac = re.findall(ip2, arp_result)
  if len(ip2_mac):
   return ip2_mac[0]
  else:
   return 0
 else:
  result = u'无人使用的ip'
 return result

这个是通过先ping,之后在arp -a ip 来获取mac地址,这种方式需要拿到数据后自行去通过正则匹配mac地址,演示的为window上的匹配,linux需要自行修改匹配规则

通过scapy模块(必须机器ipv6未被禁止)

from scapy.all import *

arp_pkt = Ether(dst="ff:ff:ff:ff:ff:ff") / ARP(pdst=ip)
res = srp1(arp_pkt, timeout=1, verbose=0)
print {"localIP": res.psrc, "mac": res.hwsrc}

通过arpreq模块

[root@oradb ~]# python
Python 2.7.5 (default, Aug 4 2017, 00:39:18) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import arpreq
>>> arpreq.arpreq('192.168.xx.xxx')
'xx:xx:xx:xx:xx:xx'

通过上述方法获取mac地址之后获取网卡类型

可以直接使用mac.py

pip install mac.py

from macpy import Mac

mac = Mac()
information = mac.search(00-11-F1-01-01)
print information

如果感觉信息还是有点老的话,需要自己手动去IEEE上面下载mac和网卡厂商的比对文件自行比对就行了

以上这篇python2.7使用scapy发送syn实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用beautifulsoup从爱奇艺网抓取视频播放
Jan 23 Python
python单线程实现多个定时器示例
Mar 30 Python
介绍Python的Django框架中的QuerySets
Apr 20 Python
Eclipse中Python开发环境搭建简单教程
Mar 23 Python
Python判断文件或文件夹是否存在的三种方法
Jul 27 Python
python 判断文件还是文件夹的简单实例
Jun 10 Python
python实现点击按钮修改数据的方法
Jul 17 Python
django 微信网页授权登陆的实现
Jul 30 Python
解决keras使用cov1D函数的输入问题
Jun 29 Python
如何解决.cuda()加载用时很长的问题
May 24 Python
python tqdm用法及实例详解
Jun 16 Python
openstack中的rpc远程调用的方法
Jul 09 Python
python 使用raw socket进行TCP SYN扫描实例
May 05 #Python
Python之变量类型和if判断方式
May 05 #Python
Python实现CAN报文转换工具教程
May 05 #Python
python TCP包注入方式
May 05 #Python
python构造IP报文实例
May 05 #Python
python3通过udp实现组播数据的发送和接收操作
May 05 #Python
解决python使用list()时总是报错的问题
May 05 #Python
You might like
PHP 压缩文件夹的类代码
2009/11/05 PHP
编译php 5.2.14+fpm+memcached(具体操作详解)
2013/06/18 PHP
php curl模拟post请求小实例
2013/11/13 PHP
10款PHP开源商城系统汇总介绍
2015/07/23 PHP
PHP命名空间与自动加载类详解
2018/09/04 PHP
PHP封装cURL工具类与应用示例
2019/07/01 PHP
xtree.js 代码
2007/03/13 Javascript
JS支持带x身份证号码验证函数
2008/08/10 Javascript
javascript 模拟点击广告
2010/01/02 Javascript
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
探讨js字符串数组拼接的性能问题
2014/10/11 Javascript
基于JavaScript实现熔岩灯效果导航菜单
2017/01/04 Javascript
ie下js不执行的几种可能
2017/02/28 Javascript
关于react-router的几种配置方式详解
2017/07/24 Javascript
JS分页的实现(同步与异步)
2017/09/16 Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
2018/03/26 Javascript
vue-cli 使用vue-bus来全局控制的实例讲解
2018/09/15 Javascript
layDate日期控件使用方法详解
2018/11/15 Javascript
Vue框架TypeScript装饰器使用指南小结
2019/02/18 Javascript
Vue的click事件防抖和节流处理详解
2019/11/13 Javascript
vue图片裁剪插件vue-cropper使用方法详解
2020/12/16 Vue.js
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
Python时间戳与时间字符串互相转换实例代码
2013/11/28 Python
Python实现抓取网页并且解析的实例
2014/09/20 Python
python 梯度法求解函数极值的实例
2019/07/10 Python
python用match()函数爬数据方法详解
2019/07/23 Python
css3.0 图形构成实例练习一
2013/03/19 HTML / CSS
喜诗官方在线巧克力店:See’s Candies
2017/01/01 全球购物
Superdry极度干燥美国官网:英国制造的服装品牌
2018/11/13 全球购物
The Kooples美国官方网站:为情侣提供的法国当代时尚品牌
2019/01/03 全球购物
UNIX命令速查表
2012/03/10 面试题
总经理年会致辞
2015/07/29 职场文书
青年岗位能手事迹材料(2016推荐版)
2016/03/01 职场文书
python实现批量提取指定文件夹下同类型文件
2021/04/05 Python
基于docker安装zabbix的详细教程
2022/06/05 Servers
Win11右下角图标点了没反应怎么办?Win11点击右下角图标无反应解决方法汇总
2022/07/07 数码科技