日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 面向监狱编程,就靠它了

發布時間:2024/9/15 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 面向监狱编程,就靠它了 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

網絡編程大家都學過吧?

socket -> bind -> listen -> accept-> recv/recvfrom -> send/sendto

一氣呵成,什么select、poll、epoll多路復用模型信手拈來。

但這一套東西,只是開發建立在傳輸層TCP、UDP之上的應用程序。

你有沒有想過,如何編程批量發送一批TCP SYN握手包,來進行端口掃描?

如何編程來發送一個偽造了IP地址的ARP數據包和IP數據報文?

甚至,如何編程來發送一個偽造了MAC地址的以太網數據幀?

一旦你掌握了上面幾招,玩轉數據包不是問題,開發各種神器不在話下。但一定要用在正途上,不要面向監獄編程哦~

那到底如何構造發送各種各樣的數據包呢?今天給大家介紹一個強大的玩意:scapy

這是一個強大的數據包構造工具,你可以在Python中使用它,是時候喊一聲:Python大法好了!

ARP

我們拿ARP開刀,ARP是地址解析協議,局域網中通信需要使用網卡的MAC地址,而網絡層通信使用的是IP地址,在應用程序的數據包被發送出去之前,在IP報文前面添加以太網幀頭時,需要填寫收件人的MAC地址。

如果是局域網內部通信,這個收件人地址就是目的電腦的網卡MAC地址,而如果是互聯網上的公網IP地址,這個收件人地址就是網關的MAC地址。

無論怎樣,總得有個MAC地址才行,那怎么來呢?這就是ARP協議要干的事,它能將一個IP地址轉換成一個MAC地址。

ARP解析的過程這里就不詳述了,簡單來說,比如要查詢192.168.1.100的MAC地址,主機使用ARP協議在局域網中發出一聲廣播:192.168.1.100,我叫你一聲你敢答應嗎?

局域網中所有人都能收到這個廣播(因為它的收件人MAC地址是FF-FF-FF-FF-FF-FF),但只有IP地址是192.168.1.100的這個家伙會回一句:爺爺在此!我的MAC地址是xxxxxx。

注意,在我們平時應用程序通信時,以上過程都是操作系統底層協議棧自動完成的,我們的應用程序感知不到這些。

我們可以使用Scapy這個庫,來發起一次ARP解析。

from?scapy.all?import?* def?arp_scan(ip):answer,?uanswer?=?srp(Ether(dst="ff:ff:ff:ff:ff:ff")?/?ARP(pdst=ip),?inter=0.1,?timeout=2,?verbose=False)mac_list?=?[]for?send,?recv?in?answer:if?recv[ARP].op?==?2:mac_list.append((recv[ARP].psrc,?recv[Ether].hwsrc))return?mac_list

上面這段代碼,通過scapy庫中的srp函數發送了一個以太網幀,收件人是ff:ff:ff:ff:ff:ff,表明這是個廣播包,鏈路層之上是ARP協議,需要解析的IP是傳入待解析的IP地址參數。

上面的函數一執行,你就能在wireshark中抓到數據包了:

上面說過,正常情況下,只有目標地址是我查的那個主機才會回復我。

但假如你的局域網中有人不懷好意,搶在真正的主機之前回答我:爺爺在此!我的MAC地址是yyyyyy。

那事情就糟了,后面的的通信報文都發給這個假冒的家伙那里去了,這就是大名鼎鼎的ARP欺騙攻擊

再試想一下,如果查詢的IP地址是網關的IP地址,那后果更嚴重,所有的網絡通信都發到這家伙來了。

既然能發送ARP查詢報文,你把上面的代碼改一下,自然也能發送ARP應答報文···

ARP的故事先說到這里,咱們再來看一下,用scapy做一個端口掃描器。

端口掃描

TCP端口掃描,通過發送三次握手的第一次SYN數據包,根據返回的結果來判斷端口的打開情況:

如果返回ACK+SYN,也就是flags字段是18,則說明端口開啟:

如果返回ACK+RST,也就是flags字段是20,則說明端口關閉:

下面的函數就能實現:

from?scapy.all?import?* def?port_scan(port):answer,?uanswer?=?sr(IP(dst="192.168.1.1")?/?fuzz(TCP(dport=int(port),?flags="S")))for?s,?r?in?ans:if?r[TCP].flags?==?18:print("port?is?Open")if?r[TCP].flags?==?20:print("port?is?Closed")

抓包來看:

握手包和服務器的返回包都能清楚看到,如果在循環中不斷調用該函數,傳入不同的端口,則可以實現批量端口掃描。

scapy構造數據包的能力這只是冰山一角,更多強大的功能等著你去研究。

學習計算機網絡,不要只停留在看書和看博文的基礎上,如果能自己編程收發數據包,去實現ARP、ICMP、DHCP、DNS的功能,或者開發一些簡單的網絡工具,絕對比別人掌握的更加深刻。

最后,給大家留一個思考題,如何通過構造IP報文實現traceroute的路由跟蹤功能呢,想一想,這該如何實現?

推薦閱讀

Pandas處理數據太慢,來試試Polars吧!

懶人必備!只需一行代碼,就能導入所有的Python庫

絕!關于pip的15個使用小技巧

介紹10個常用的Python內置函數,99.99%的人都在用!

可能是全網最完整的 Python 操作 Excel庫總結!

總結

以上是生活随笔為你收集整理的Python 面向监狱编程,就靠它了的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产亚洲精品自拍 | 性视频播放免费视频 | 久久久av电影 | 日韩在线国产精品 | 亚洲欧洲日本国产 | 成人免费视频一区二区 | 人妻内射一区二区在线视频 | 日本免费在线视频观看 | 欧美精品 日韩 | 免看一级片 | 网站黄色在线观看 | 亚洲高清影院 | 成人免费观看视频 | 老色驴综合网 | 4438x全国最大成人网 | 久久久最新 | 成年人看的黄色 | 秋霞无码一区二区 | 自拍偷拍在线播放 | 992av| 午夜在线观看视频网站 | 超碰福利在线观看 | 成人乱人乱一区二区三区 | 97视频成人| 男女做爰猛烈刺激 | 久久国产精品精品国产色婷婷 | 久久依人 | 自拍偷拍一区二区三区 | 成人国产精品蜜柚视频 | 亚洲青青草 | 欧美黄色视屏 | 欧美日韩中文国产 | 涩色网站| 综合色婷婷一区二区亚洲欧美国产 | 亚洲天天综合 | 国产21区 | 悟空影视大全免费高清观看在线 | 国产噜噜噜噜久久久久久久久 | 艹久久 | 日日碰| 日韩欧洲亚洲AV无码精品 | 99爱在线| 国产精品女同一区二区 | 国产免费99| 挪威xxxx性hd极品 | 国产成人精品网 | 久久久久久69 | 亚洲欧美日本一区二区三区 | 亚洲丁香色 | 一区二区三区麻豆 | 黄av在线| 国产精品99久久久久久久久久久久 | 91成人免费看 | 午夜精品视频一区二区三区在线看 | 中文字幕一区二区三区四区视频 | 精品久久久国产 | 欧美性开放视频 | 美女张开腿让男人桶爽 | 久久久欧美精品 | 国产精品女同一区二区 | 久久av免费看 | 国产又黄又嫩又滑又白 | 国语对白久久 | 精品视频一二三区 | 黑人巨大精品欧美一区二区 | 丁香九月激情 | 国产女无套免费视频 | 亚洲欧美va天堂人熟伦 | 92av视频| 久久精品视频6 | 欧美激情喷水 | 亚洲精品3| 日日噜噜噜夜夜爽爽狠狠 | a免费视频 | 黄色片在线视频 | 操操操操操操操操操 | 99久久久国产精品免费蜜臀 | 97视频总站 | 黄色成人av在线 | 日本三级中文字幕 | 亚洲欧洲精品成人久久奇米网 | 国产免费观看久久黄av片 | 嫩草伊人| 女生隐私免费看 | 韩日一区二区 | 亚洲综合性 | 午夜免费片 | 丁香花电影在线观看免费高清 | 青草视屏 | 亚洲成a人在线观看 | 国产在线精品一区 | 精品中文字幕在线观看 | 国产精品熟女久久久久久 | 美国色视频 | 中文字幕免费在线看线人 | 黄视频在线播放 | 亚洲精品免费视频 | 98精品视频| 国产精品电影 |