
تصور طبولوجيا الشبكة وجمع إحصائيات الرسم البياني بناءً على ملفات pcap
يرسم PcapViz الشبكات كهيكل طوبولوجي للأجهزة وكتدفقات معلومات باستخدام معلومات الحزم في ملفات pcap الملتقطة من جهاز شبكة باستخدام tcpcap أو برامج التقاط أخرى. يقوم بتصفية الحزم الملتقطة ويعرضها اختياريًا في أي من "الطبقات" الثلاث. وهي:
كل منها ينتج رسمًا بيانيًا شبكيًا مميزًا من نفس مجموعة حزم الشبكة. هذا الفصل يجعل من السهل جدًا رؤية تدفقات البيانات في كل مستوى بدلاً من خلطها كما تفعل العديد من حزم التصور الأخرى. يجب أن يكون من الممكن تحديد العقد الطوبولوجية الرئيسية أو اكتشاف أنماط محاولات تسرب البيانات بسهولة أكبر.
usage: main.py [-h] [-i [PCAPS [PCAPS ...]]] [-o OUT] [-g GRAPHVIZ] [--layer2]
[--layer3] [--layer4] [-fi] [-fo] [-G GEOPATH] [-l GEOLANG]
[-E LAYOUTENGINE] [-s SHAPE]
pcap topology and message mapper
optional arguments:
-h, --help show this help message and exit
-i [PCAPS [PCAPS ...]], --pcaps [PCAPS [PCAPS ...]]
space delimited list of capture files to be analyzed
-o OUT, --out OUT topology will be stored in the specified file
-g GRAPHVIZ, --graphviz GRAPHVIZ
graph will be exported to the specified file (dot
format)
--layer2 device topology network graph
--layer3 ip message graph. Default
--layer4 tcp/udp message graph
-fi, --frequent-in print frequently contacted nodes to stdout
-fo, --frequent-out print frequent source nodes to stdout
-G GEOPATH, --geopath GEOPATH
path to maxmind geodb data
-l GEOLANG, --geolang GEOLANG
Language to use for geoIP names
-E LAYOUTENGINE, --layoutengine LAYOUTENGINE
Graph layout method - dot, sfdp etc.
-s SHAPE, --shape SHAPE
Graphviz node shape - circle, diamond, box etc.
رسم بياني للاتصالات (الطبقة 2)، مقطع
python main.py -i tests/test.pcap -o test2.png --layer2

الطبقة 3 مع تخطيط sfdp الافتراضي

الطبقة 4 مع تخطيط sfdp الافتراضي

إرجاع المضيفين الذين لديهم أكبر عدد من الحزم الواردة:
python3 main.py -i tests/test.pcap -fi --layer3
4 172.16.11.12
1 74.125.19.17
1 216.34.181.45 slashdot.org
1 172.16.11.1
1 96.17.211.172 a96-17-211-172.deploy.static.akamaitechnologies.com
مطلوب:
GraphViz راجع ملاحظات النظام أدناه
متطلبات حزمة Pip سيتم تثبيت Maxmind Python API والتبعيات الأخرى عند تشغيل:
pip3 install -r requirements.txt
لذا بالطبع، قم بتشغيل ذلك! أنت تستخدم بيئة بايثون افتراضية، أليس كذلك؟
بالنسبة لتوزيعات دبيان، يجب تثبيت GraphViz مع بعض التبعيات الإضافية:
apt-get install python3-dev
apt-get install graphviz libgraphviz-dev pkg-config
لا يعمل Scapy بشكل مباشر على macOS. اتبع التعليمات الخاصة بالمنصة من موقع scapy
brew install graphviz
brew install --with-python libdnet
brew install https://raw.githubusercontent.com/secdev/scapy/master/.travis/pylibpcap.rb
يمكن تشغيل اختبارات الوحدة من دليل tests:
python3 core.py
الصور النموذجية أعلاه هي رسومات بيانية ناتجة عن الاختبار.
لاحظ وجود تحذيرين حاليًا حول ميزات قديمة في graphviz، ولعمل الاختبارات، قد تحتاج إلى ضبط الوسائط الوهمية للإشارة إلى نسختك من ملف بيانات geoIP. بدون الوصول إلى بيانات geoIP، ستفشل اختباران دائمًا.