python2.7使用scapy發(fā)送syn實(shí)例
我就廢話不多說(shuō)了,大家看代碼吧!
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()
補(bǔ)充知識(shí):用python 通過(guò)ip獲取mac和網(wǎng)卡類型(同一網(wǎng)段)
通過(guò)網(wǎng)上查閱目前找到的幾種方式
環(huán)境使用window和linux系統(tǒng)
使用nmap,python-nmap需要依賴機(jī)器安裝nmap工具
import nmap nm=nmap.PortScanner() nm.scan('xxx.xxx.xxx.xxx','xx') # ip地址和端口,端口不填也可以 a=nm['xxx.xxx.xxx.xxx'] #返回主機(jī)的詳細(xì)信息 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'}}}
這種方式獲取非常簡(jiǎn)單,但是會(huì)耗費(fèi)很大的時(shí)間,不建議使用
通過(guò)控制臺(tái)命令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'無(wú)人使用的ip' return result
這個(gè)是通過(guò)先ping,之后在arp -a ip 來(lái)獲取mac地址,這種方式需要拿到數(shù)據(jù)后自行去通過(guò)正則匹配mac地址,演示的為window上的匹配,linux需要自行修改匹配規(guī)則
通過(guò)scapy模塊(必須機(jī)器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}
通過(guò)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'
通過(guò)上述方法獲取mac地址之后獲取網(wǎng)卡類型
可以直接使用mac.py
pip install mac.py
from macpy import Mac mac = Mac() information = mac.search(00-11-F1-01-01) print information
如果感覺(jué)信息還是有點(diǎn)老的話,需要自己手動(dòng)去IEEE上面下載mac和網(wǎng)卡廠商的比對(duì)文件自行比對(duì)就行了
以上這篇python2.7使用scapy發(fā)送syn實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- python使用scapy模塊實(shí)現(xiàn)ping掃描的過(guò)程詳解
- python使用scapy模塊實(shí)現(xiàn)ARP掃描的過(guò)程
- Python3利用scapy局域網(wǎng)實(shí)現(xiàn)自動(dòng)多線程arp掃描功能
- 利用Python庫(kù)Scapy解析pcap文件的方法
- Python項(xiàng)目 基于Scapy實(shí)現(xiàn)SYN泛洪攻擊的方法
- Python利用scapy實(shí)現(xiàn)ARP欺騙的方法
- python 的 scapy庫(kù),實(shí)現(xiàn)網(wǎng)卡收發(fā)包的例子
- Python Scapy隨心所欲研究TCP協(xié)議棧
- Python基于scapy實(shí)現(xiàn)修改IP發(fā)送請(qǐng)求的方法示例
- Python中使用scapy模擬數(shù)據(jù)包實(shí)現(xiàn)arp攻擊、dns放大攻擊例子
- python通過(guò)scapy獲取局域網(wǎng)所有主機(jī)mac地址示例
- python開發(fā)實(shí)時(shí)可視化儀表盤的示例
相關(guān)文章
詳解Pycharm出現(xiàn)out of memory的終極解決方法
這篇文章主要介紹了詳解Pycharm出現(xiàn)out of memory的終極解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03numpy.transpose()實(shí)現(xiàn)數(shù)組的轉(zhuǎn)置例子
今天小編就為大家分享一篇numpy.transpose()實(shí)現(xiàn)數(shù)組的轉(zhuǎn)置例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12Pytorch Tensor的統(tǒng)計(jì)屬性實(shí)例講解
今天小編就為大家分享一篇Pytorch Tensor的統(tǒng)計(jì)屬性實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12Python使用描述器實(shí)現(xiàn)ORM模型的方法詳解
這篇文章主要為大家詳細(xì)介紹了Python描述器實(shí)現(xiàn)ORM模型,使用數(shù)據(jù)庫(kù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02Pycharm學(xué)習(xí)教程(3) 代碼運(yùn)行調(diào)試
這篇文章主要為大家詳細(xì)介紹了最全的Pycharm學(xué)習(xí)教程第三篇代碼運(yùn)行調(diào)試,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05