成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

python使用scapy模塊實現ping掃描的過程詳解

瀏覽:8日期:2022-06-29 13:57:00
關于scapy

Scapy 是一個可以讓用戶發送、偵聽和解析并偽裝網絡報文的Python程序。這些功能可以用于制作偵測、掃描和攻擊網絡的工具。換言之, Scapy 是一個強大的操縱報文的交互程序。它可以偽造或者解析多種協議的報文,還具有發送、捕獲、匹配請求和響應這些報文以及更多的功能。 Scapy 可以輕松地做到像掃描(scanning)、路由跟蹤(tracerouting)、探測(probing)、單元測試(unit tests)、攻擊(attacks)和發現網絡(network discorvery)這樣的傳統任務。它可以代替 hping , arpspoof , arp-sk , arping , p0f 甚至是部分的 Namp , tcpdump 和 tshark 的功能

對于我來言,我認為scapy最強大的特點就是scapy解碼不解釋,比如我們在用nmap進行掃描的時候,結果往往是nmap已經根據返回包的特征,然后輸出自己推測的結果,但是scapy是直接輸出返回包的內容,這樣我們可以判斷的更加準確

實現過程

接下來我將詳細的介紹如何使用scapy模塊編寫一個簡單的內網掃描工具。

我先說一下我的腳本整個大致流程:

1.首先我們應該編寫出能夠像單個IP發送ICMP包并接受回包的代碼

2.其次我們應該開啟多進程,從而讓該腳本可以快速掃描整個網段的主機存活情況

那么我們接下來就開始上面的流程。

單進程發包

首先我們需要導入scapy模塊,這里要強調一下,scapy的v2版本的導入與別的模塊導入方式不同,需要特殊的書寫方式,否則scapy模塊中的某些功能將無法使用

from scapy.all import *from random import randint

接下來需要構造我們的包,即我們要發送的ICMP包,首先了解一下scapy包的偽造

python使用scapy模塊實現ping掃描的過程詳解

對于scapy我們可以直接輸入scapy進入一個交互模式,其實這個交互模式本質也還是python,我們來看一下包

python使用scapy模塊實現ping掃描的過程詳解

讀者可以看看我構造的這個包,我寫了三個協議層,第一寫其實是mac地址,如果我們只輸入Ether,那么就是默認的結果,這里的mac就是默認廣播形式,第二個我寫的是IP,也就是IP層的設置,可以發現其中的一些已經填寫了默認值,我們要設置的其實主要就的dst,即目的地址,當然其他的想改一下也是可以的,比如說把ttl生存周期改成128,這也是沒毛病的,第三個我寫的是TCP,即我發送的包是TCP包,其中也有一些默認值,我們看到有個window,這個其實就是程序的進程號。

那么既然我們是ping包,我們就使用ICMP包,那么我們來看一下ICMP包

python使用scapy模塊實現ping掃描的過程詳解

看到ICMP的值更少一些,其中type表示這個包是請求包還是回應包。

那我們既然知道如何構造包了,那就動手構造一個

def scapy_ping_one(host): id_ip = randint(1, 65535) id_ping = randint(1, 65535) seq_ping = randint(1, 65535) packet = IP(dst=host, ttl=128, id=id_ip) / ICMP(id=id_ping, seq=seq_ping) / b’I am Ameng’

這里我設置的id號其實不設置也可以,這個就是標識包的信息,后面的字節流也可以不填寫,不影響結果

既然構造完了,那么我們就要發送,如何發送呢?這就用到了scapy中的一個函數sr

sr() 函數是用來發送數據包和接收應答。該函數返回一對數據包及其應答,還有無應答的數據包。 sr1() 函數是一種變體,用來返回一個應答數據包。發送的數據包必須是第3層報文(IP,ARP等)。 srp() 則是使用第2層報文(以太網,802.3等)

這里使用sr1()

ping = sr1(packet, timeout=0.2, verbose=False)

介紹一下參數,其實看名字前兩個沒什么問題,我這里主要說一下第三個參數,第三個參數的意思是說關閉詳細信息,因為我們只看結果,這樣界面更整潔

到這里發送單個包并接受單個包的ping代碼已經實現,整體代碼如下:

#!/usr/bin/env python3# -*- coding:utf-8 -*-# Author:Ameng jlx-love.comfrom scapy.all import *from random import randintdef scapy_ping_one(host): id_ip = randint(1, 65535) id_ping = randint(1, 65535) seq_ping = randint(1, 65535) packet = IP(dst=host, ttl=128, id=id_ip) / ICMP(id=id_ping, seq=seq_ping) / b’I am Ameng’ ping = sr1(packet, timeout=0.2, verbose=False) if ping: os._exit(3)if __name__ == ’__main__’: scapy_ping_one(sys.argv[1])多進程發包

這里主要是將單進程的代碼實現多進程,那么我們什么時候會用到多進程呢?我們一般都是判斷一個網段有哪些主機存活,所以我們一般的輸入格式都是這樣子的,比如:192.168.10.0/24,所以我們首先需要將用戶的這個輸入變成一個這個網段的各個地址,這里用到ipaddress模塊,可以自動實現這個功能

其次我們需要開啟多個進程來同時進行不同ip地址的ping檢測,所以我們引入multiprocessing模塊,開啟多個進程。

代碼如下:

#!/usr/bin/env python3# -*- coding:utf-8 -*-# Author:Ameng jlx-love.comimport timeimport multiprocessingfrom scapy_ping_one import scapy_ping_onefrom scapy.all import *import ipaddressdef scapy_ping_scan(network): net = ipaddress.ip_network(network) ip_processes = {} for ip in net: ip_addr = str(ip) ping_one = multiprocessing.Process(target = scapy_ping_one, args = (ip_addr,)) ping_one.start() ip_processes[ip_addr] = ping_one ip_list = [] for ip, process in ip_processes.items(): if process.exitcode == 3: ip_list.append(ip) else: process.terminate() return sorted(ip_list)if __name__ == ’__main__’: import time t1 = time.time() active_ip = scapy_ping_scan(sys.argv[1]) print(’存活的ip地址:’) for ip in active_ip: print(ip) t2 = time.time() print(’所用時間為:{}s’.format(int(t2 - t1)))

到此,一個簡單的ping掃描即可實現

運行結果

python使用scapy模塊實現ping掃描的過程詳解

到此這篇關于python使用scapy模塊實現ping掃描的過程詳解的文章就介紹到這了,更多相關python scapy實現ping掃描內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产精品一二三四| 亚洲国产综合在线| 欧美视频三区在线播放| 色婷婷综合激情| 色偷偷久久一区二区三区| 91久久奴性调教| 欧美理论片在线| 久久婷婷国产综合精品青草| 日韩欧美一级二级三级| 国产网站一区二区| 亚洲三级电影网站| 麻豆精品一二三| 91亚洲永久精品| 亚洲欧美日本日韩| 欧美一级生活片| 亚洲欧美另类综合偷拍| 人人精品人人爱| 成人的网站免费观看| 91久久精品www人人做人人爽| 午夜综合激情| 2023国产一二三区日本精品2022| 中文一区二区在线观看| 亚洲一区二区三区国产| 成人av在线电影| 国产欧美91| 精品乱人伦一区二区三区| 亚洲欧美aⅴ...| 99精品国产热久久91蜜凸| 香蕉精品999视频一区二区| 久久综合狠狠综合久久综合88| 亚洲一区二区四区蜜桃| 91网上在线视频| 欧美一区二区在线不卡| 亚洲福利一区二区| 欧美日韩亚洲一区二区三区在线观看| 日本久久精品电影| 亚洲一区在线观看免费观看电影高清| av动漫一区二区| 91精品婷婷国产综合久久性色| 亚洲成人久久影院| 日韩亚洲国产精品| 国产精品国产自产拍在线| 国产伦精品一区二区三区视频青涩 | 中文av一区特黄| 成人小视频免费观看| 欧美性色欧美a在线播放| 美女高潮久久久| 久久久久久九九九九| 樱花草国产18久久久久| 91麻豆文化传媒在线观看| 久久久91精品国产一区二区精品| 免费精品视频在线| 欧美色图免费看| 国产成人丝袜美腿| 日本一区二区视频在线观看| 欧美一区免费| 亚洲制服丝袜av| 久久一区精品| 久久97超碰国产精品超碰| 欧美一区2区视频在线观看| 91亚洲国产成人精品一区二区三 | 欧美精品三区| 亚洲一二三四在线| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 首页欧美精品中文字幕| 欧美性猛片aaaaaaa做受| 国产成a人无v码亚洲福利| 欧美不卡视频一区| 亚洲高清电影| 极品少妇一区二区三区精品视频| 欧美精品色综合| 欧美日韩另类丝袜其他| 亚洲国产一区二区三区 | 一区二区三区鲁丝不卡| 久久人人九九| 欧美一区久久| 久久国产精品第一页| 国产精品国产精品国产专区不蜜| 色香色香欲天天天影视综合网| www.欧美色图| 奇米色777欧美一区二区| 国产精品乱人伦中文| 91精品国产色综合久久久蜜香臀| 好吊色欧美一区二区三区视频| 五月激情六月综合| 国产精品激情偷乱一区二区∴| 欧美色国产精品| 亚洲高清免费| 欧美日本韩国在线| 99精品久久免费看蜜臀剧情介绍| 一区二区成人在线视频| 国产精品女同互慰在线看| 日韩欧美一区二区视频| 日本道色综合久久| 国产伦精品一区二区三区视频孕妇 | 3d成人h动漫网站入口| 国产伦精品一区二区三区视频孕妇| av在线综合网| 成人av在线资源网站| 精品一区二区久久久| 国产欧美日韩一区二区三区| 亚洲性图久久| 亚洲美女少妇无套啪啪呻吟| 91亚洲资源网| 欧美区亚洲区| 国语精品中文字幕| 欧美午夜影院| 激情综合视频| 亚洲欧美网站| 精品视频一区三区九区| 欧美日韩国产一区二区三区地区| 久久婷婷影院| 欧美疯狂做受xxxx富婆| 在线综合+亚洲+欧美中文字幕| 一本色道**综合亚洲精品蜜桃冫 | 蜜臀av国产精品久久久久| 日韩精品高清不卡| 国产在线精品一区二区夜色| 一区二区三区四区蜜桃| 日韩av在线发布| 欧美成ee人免费视频| 久久综合伊人| 国产精品婷婷午夜在线观看| 午夜精品久久久久久不卡8050| 国产一区二区三区免费看 | 国产成人精品免费看| 国产精品yjizz| 欧美一卡二卡三卡四卡| 亚洲激情第一区| 国产91丝袜在线观看| 国产亚洲激情| 26uuu精品一区二区在线观看| 亚洲第一狼人社区| www.性欧美| 欧美日本视频在线| 亚洲综合自拍偷拍| 国产自产v一区二区三区c| 午夜久久美女| 2022国产精品视频| 蜜臂av日日欢夜夜爽一区| 亚洲精品护士| 国产精品久久久久三级| 成人性生交大合| 欧美一区二区三区成人| 奇米888四色在线精品| 国产一区二区高清视频| 日韩毛片一二三区| 国产精品v日韩精品v欧美精品网站| 7777精品伊人久久久大香线蕉的| 亚洲国产一二三| 亚洲欧美成人| 日韩精品专区在线| 日韩高清在线观看| 在线精品观看国产| 首页亚洲欧美制服丝腿| 色婷婷久久久亚洲一区二区三区| 性感美女极品91精品| 欧美色综合影院| 国产成人高清在线| 久久久久久97三级| 一本色道久久综合一区 | 91精品国产日韩91久久久久久| 欧美电影免费观看完整版| 精品一二线国产| 色综合久久久久综合| 亚洲人成网站在线| 国产伦精品一区二区三区四区免费| 亚洲一区视频在线| 欧美猛男超大videosgay| 成人午夜电影网站| 国产精品国产精品国产专区不蜜| 国产精品视频免费观看| 久久精品国产一区二区三 | 2021中文字幕一区亚洲| 亚洲一区日韩在线| 国产情侣久久| 久久不见久久见免费视频1| 亚洲自拍偷拍网站| 亚洲人快播电影网| 无码av中文一区二区三区桃花岛| 一区二区三区四区激情| 亚洲另类中文字| 日韩一区有码在线| 日韩精品一级二级 | 日韩欧美一卡二卡| 在线不卡a资源高清| 欧美日免费三级在线| 欧美专区亚洲专区| 欧美一二区视频| 国产天堂亚洲国产碰碰| 国产精品视频麻豆| 亚洲色图都市小说| 久久久久久电影| 欧美日韩国产乱码电影| 男人的天堂亚洲| 色哟哟一区二区在线观看| 日韩亚洲视频在线| 久久激情视频| 亚洲免费综合| 在线一区二区三区四区|