python2.7使用scapy发送syn实例
我就废话不多说了,大家看代码吧!
fromscapy.allimport* defsyn(): 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->ssyn res=sr1(pkg) res.display()
补充知识:用python通过ip获取mac和网卡类型(同一网段)
通过网上查阅目前找到的几种方式
环境使用window和linux系统
使用nmap,python-nmap需要依赖机器安装nmap工具
importnmap 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':'MicrosoftWindows7-10microsoft-ds','state':'open','version':'','name':'microsoft-ds','conf':'10','extrainfo':'workgroup:WORKGROUP','reason':'syn-ack','cpe':'cpe:/o:microsoft:windows'}}}
这种方式获取非常简单,但是会耗费很大的时间,不建议使用
通过控制台命令arp-a
defoutput_cmd(command): r=os.popen(command) content=r.read() r.close() returncontent defarp_command(ip_address): ping_cmd="ping"+ip_address+"-n2" result=output_cmd(ping_cmd) find_ttl=result.find("TTL") iffind_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) iflen(ip2_mac): returnip2_mac[0] else: return0 else: result=u'无人使用的ip' returnresult
这个是通过先ping,之后在arp-aip来获取mac地址,这种方式需要拿到数据后自行去通过正则匹配mac地址,演示的为window上的匹配,linux需要自行修改匹配规则
通过scapy模块(必须机器ipv6未被禁止)
fromscapy.allimport* 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 Python2.7.5(default,Aug42017,00:39:18) [GCC4.8.520150623(RedHat4.8.5-16)]onlinux2 Type"help","copyright","credits"or"license"formoreinformation. >>>importarpreq >>>arpreq.arpreq('192.168.xx.xxx') 'xx:xx:xx:xx:xx:xx'
通过上述方法获取mac地址之后获取网卡类型
可以直接使用mac.py
pipinstallmac.py
frommacpyimportMac mac=Mac() information=mac.search(00-11-F1-01-01) printinformation
如果感觉信息还是有点老的话,需要自己手动去IEEE上面下载mac和网卡厂商的比对文件自行比对就行了
以上这篇python2.7使用scapy发送syn实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。