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 相关文章推荐
Django与遗留的数据库整合的方法指南
Jul 24 Python
Python开发如何在ubuntu 15.10 上配置vim
Jan 25 Python
Python调用ctypes使用C函数printf的方法
Aug 23 Python
python tornado微信开发入门代码
Aug 24 Python
python验证身份证信息实例代码
May 06 Python
Python (Win)readline和tab补全的安装方法
Aug 27 Python
Python数据分析模块pandas用法详解
Sep 04 Python
python 实现list或string按指定分段
Dec 25 Python
Python PIL库图片灰化处理
Apr 07 Python
如何验证python安装成功
Jul 06 Python
python脚本第一行如何写
Aug 30 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
Oct 31 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
PHP6 先修班 JSON实例代码
2008/08/23 PHP
php中设置index.php文件为只读的方法
2013/02/06 PHP
TNC vs RR BO3 第一场 2.14
2021/03/10 DOTA
jQuery 页面 Mask实现代码
2010/01/09 Javascript
jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别
2013/12/02 Javascript
js写的方法实现上传图片之后查看大图
2014/03/05 Javascript
JavaScript中的依赖注入详解
2015/03/18 Javascript
跟我学习javascript的最新标准ES6
2015/11/20 Javascript
JavaScript判断表单为空及获取焦点的方法
2016/02/12 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
详解AngularJS用Interceptors来统一处理HTTP请求和响应
2017/06/08 Javascript
解决Vue axios post请求,后台获取不到数据的问题方法
2018/08/11 Javascript
vue-cli 3.0 版本与3.0以下版本在搭建项目时的区别详解
2018/12/11 Javascript
JavaScript常见鼠标事件与用法分析
2019/01/03 Javascript
Vue+Element实现动态生成新表单并添加验证功能
2019/05/23 Javascript
vue中根据时间戳判断对应的时间(今天 昨天 前天)
2019/12/20 Javascript
js实现头像上传并且可预览提交
2020/12/25 Javascript
[03:17]史诗级大片应援2018DOTA2国际邀请赛 致敬每一位坚守遗迹的勇士
2018/07/20 DOTA
python读写文件操作示例程序
2013/12/02 Python
python中abs&map&reduce简介
2018/02/20 Python
Python列表与元组的异同详解
2019/07/02 Python
django自定义非主键自增字段类型详解(auto increment field)
2020/03/30 Python
Max&Co官网:意大利年轻女性时尚品牌
2017/05/16 全球购物
全球领先的全景影像品牌:Insta360
2019/08/21 全球购物
物理教师自荐信范文
2013/12/28 职场文书
拾金不昧的表扬信
2014/01/16 职场文书
幼儿园托班开学寄语
2014/01/18 职场文书
弘扬雷锋精神活动演讲稿
2014/03/04 职场文书
见习期自我鉴定范文
2014/03/19 职场文书
2015年行政工作总结范文
2015/04/09 职场文书
入伍通知书
2015/04/23 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
2015暑期社会实践个人总结
2015/07/13 职场文书
2015小学教育教学工作总结
2015/07/21 职场文书
pytorch实现手写数字图片识别
2021/05/20 Python
Mysql数据库group by原理详解
2022/07/07 MySQL