Wireshark عبارة عن محلل لحركة مرور الشبكة ، أو "Sniffer" ، لـ Linux و MacOS و *BSD وأنظمة التشغيل الأخرى التي تشبه UNIX و Windows. يستخدم QT ، ومكتبة واجهة المستخدم الرسومية ، و LIBPCAP و NPCAP كمكتبات لالتقاط وتصفية الحزمة.
يأتي توزيع Wireshark أيضًا مع Tshark ، وهو عبارة عن مختل موجه نحو الخط (على غرار Sun's Snoop أو TCPDUMP) الذي يستخدم نفس التشريح ، وقراءة ملفات التقاط وكتابة ، ورمز تصفية الحزم مثل Wireshark ، ومع EDITCAP ، وهو عبارة برنامج لقراءة ملفات Capture وكتابة الحزم من ملف الالتقاط هذا ، ربما بتنسيق ملفات التقاط مختلفة ، ومع بعض الحزم قد تمت إزالتها من الالتقاط.
المنزل الرسمي لـ Wireshark هو https://www.wireshark.org.
يمكن العثور على أحدث توزيع في الدليل الفرعي https://www.wireshark.org/download
يبني مشروع Wireshark واختباراته بانتظام على المنصات التالية:
تتوفر حزم التثبيت الرسمية لـ Microsoft Windows و MacOS.
وهي متوفرة إما كحزمة قياسية أو إضافية للعديد من أنظمة التشغيل الشائعة وتوزيعات Linux بما في ذلك Debian و Ubuntu و Fedora و Centos و Rhel و Arch و Gentoo و Opensuse و FreeBsd و Dragonfly BSD و Netbsd و OpenBsd.
بالإضافة إلى ذلك ، يتوفر من خلال العديد من أنظمة تغليف الطرف الثالث مثل PKGSRC و OpenCSW و Homebrew و Macports.
يجب أن يعمل على أنظمة Unix-ish الأخرى دون الكثير من المتاعب.
في بعض الحالات ، قد لا يدعم الإصدار الحالي من Wireshark نظام التشغيل الخاص بك. هذا هو الحال بالنسبة لنظام التشغيل Windows XP ، الذي يدعمه Wireshark 1.10 وما قبله. في حالات أخرى ، قد تكون الحزمة القياسية لـ Wireshark قديمة. هذا هو الحال بالنسبة لـ Solaris و HP-UX.
هناك حاجة إلى بيثون 3 لبناء wireshark. مطلوب Asciidoctor لبناء الوثائق ، بما في ذلك صفحات الرجل. مطلوب Perl و Flex لإنشاء بعض التعليمات البرمجية المصدر.
لذلك يجب عليك تثبيت Python 3 و Asciidoctor و GNU "Flex" (الفانيليا "LEX" لن يعمل) على الأنظمة التي تفتقر إليها. قد تحتاج إلى تثبيت Perl كذلك.
يمكن العثور على تعليمات التثبيت الكاملة في ملف التثبيت وفي دليل المطور على https://www.wireshark.org/docs/wsdg_html_chunked/
انظر أيضا readme المناسبة. ملفات OS لتعليمات التثبيت الخاصة بنظام التشغيل.
من أجل التقاط الحزم من الشبكة ، تحتاج إلى جعل مجموعة برنامج DUMPCAP من أجل الجذر أو تحتاج إلى الوصول إلى الإدخال المناسب تحت /dev
إذا كان نظامك مائلًا جدًا (الأنظمة المشتقة من BSD ، وأنظمة مثل Solaris و HP-UX التي تدعم DLPI ، تندرج عادة في هذه الفئة). على الرغم من أنه قد يكون من المغري جعل الجذر التنفيذيين لـ Wireshark و Tshark ، أو تشغيلها كجذر من فضلك لا. تم عزل عملية التقاط في DUMPCAP. هذا البرنامج البسيط أقل عرضة لاحتواء ثقوب أمنية ، وبالتالي فهو أكثر أمانًا لتشغيل الجذر.
يرجى الرجوع إلى صفحة MAN للحصول على وصف لكل خيار سطر الأوامر وميزة الواجهة.
يمكن لـ Wireshark قراءة الحزم من عدد من أنواع الملفات المختلفة. راجع صفحة Wireshark Man أو دليل مستخدم Wireshark للحصول على قائمة بتنسيقات الملفات المدعومة.
يمكن لـ Wireshark قراءة الإصدارات المضغوطة بشفافية من أي من هذه الملفات إذا كانت مكتبة الضغط المطلوبة متاحة عند تجميع Wireshark. تنسيقات الضغط المدعومة حاليًا هي:
يدعم GZIP و LZ4 (عند استخدام كتل مستقلة ، وهو الافتراضي) البحث العشوائي السريع ، والذي يوفر أداء واجهة المستخدم الرسومية أفضل بكثير على الملفات الكبيرة. يمكن تعطيل أي من تنسيقات الضغط هذه في وقت الترجمة عن طريق تمرير الخيار المقابل إلى cmake ، أي ، cmake -DENABLE_ZLIB=OFF
، cmake -DENABLE_LZ4=OFF
، أو cmake -DENABLE_ZSTD=OFF
.
على الرغم من أن Wireshark يمكنه قراءة ملفات AIX iptrace ، إلا أن الوثائق الموجودة في أمر iPtrace Packet-Trace الخاص بـ AIX متناثر. يبدأ أمر iptrace
شيطانًا يجب أن تقتله من أجل إيقاف التتبع. من خلال التجريب ، يبدو أن إرسال إشارة HUP إلى هذا الخفي IPTrace يؤدي إلى إيقاف تشغيل رشيق ويتم كتابة حزمة كاملة إلى ملف التتبع. إذا تم حفظ حزمة جزئية في النهاية ، فسيشتكي Wireshark عند قراءة هذا الملف ، لكنك ستتمكن من قراءة جميع الحزم الأخرى. إذا حدث هذا ، فيرجى السماح لمطوري Wireshark بمعرفة على [email protected] ؛ تأكد من إرسال نسخة من ملف التتبع لنا إذا كان صغيرًا ويحتوي على بيانات غير حساسة.
يقتصر دعم منتجات Lucent/Ascend على ناتج تتبع التصحيح الناتج عن سلسلة المنتجات MAX و PIPLINE. يمكن لـ Wireshark قراءة إخراج أوامر wandsession
و wandisplay
و wannext
و wdd
.
يمكن لـ Wireshark أيضًا قراءة إخراج تتبع التفريغ من خط Toshiba "جهاز التوجيه المدمج" من أجهزة التوجيه ISDN (TR-600 و TR-650). يمكنك telnet إلى جهاز التوجيه وبدء جلسة تفريغ مع snoop dump
.
يمكن أيضًا قراءة ناتج جيب التمام L2 بواسطة Wireshark. للحصول على إخراج Debug L2 أولاً ، أدخل وضع Diags ثم استخدم create-pkt-log-profile
وتطبيق أوامر apply-pkt-lozg-profile
ضمن فئة Layer-2. لمزيد من التفاصيل كيفية استخدام هذه الأوامر ، يجب عليك فحص أمر المساعدة بواسطة layer-2 create ?
أو layer-2 apply ?
.
لاستخدام آثار Lucent/Ascend و Toshiba و Tomine مع Wireshark ، يجب عليك التقاط الإخراج التتبع إلى ملف على القرص. يحدث التتبع داخل جهاز التوجيه ولم يكن لجهاز التوجيه أي طريقة لحفظ التتبع لك. طريقة سهلة للقيام بذلك تحت UNIX هي تشغيل telnet <ascend> | tee <outfile>
. أو ، إذا كان نظامك يحتوي على أمر "البرنامج النصي" المثبت ، فيمكنك حفظ جلسة shell ، بما في ذلك telnet ، إلى ملف. على سبيل المثال لتسجيل الدخول إلى ملف يسمى tracefile.out:
$ script tracefile.out
Script started on <date/time>
$ telnet router
..... do your trace, then exit from the router's telnet session.
$ exit
Script done on <date/time>
ستحاول Wireshark استخدام إمكانات دقة الاسم العكسي عند فك تشفير حزم IPv4 و IPv6.
إذا -N mt
ترغب في إيقاف تشغيل دقة الاسم أثناء استخدام Wireshark ، ابدأ wireshark مع خيار -n
لإيقاف كل دقة الأسماء (بما في ذلك دقة عناوين MAC وأرقام منفذ TCP/UDP/SMTP للأسم قم بإيقاف تشغيل دقة الاسم لجميع عناوين طبقة الشبكة (IPv4 ، IPv6 ، IPX).
يمكنك جعل الإعداد الافتراضي عن طريق فتح مربع حوار التفضيلات باستخدام عنصر التفضيلات في قائمة التحرير ، وتحديد "دقة الاسم" ، وإيقاف خيارات دقة الاسم المناسبة ، والنقر فوق "موافق".
يمكن لـ Wireshark القيام ببعض فك التشفير الأساسي لحزم SNMP ؛ يمكنه أيضًا استخدام مكتبة Libsmi للقيام بمزيد من فك التشفير من خلال قراءة ملفات MIB واستخدام المعلومات في تلك الملفات لعرض OIDs وقيم الربط المتغيرة بطريقة أكثر ودية. ستحدد Cmake تلقائيًا ما إذا كان لديك مكتبة Libsmi على نظامك. إذا كان لديك مكتبة libsmi ولكن لا تريد أن تستخدمها Wireshark ، فيمكنك تشغيل cmake مع خيار -DENABLE_SMI=OFF
.
يخضع Wireshark إلى تطوير مستمر ، لذلك من الممكن أن تواجه خطأ أثناء استخدامه. يرجى الإبلاغ عن الأخطاء على https://gitlab.com/wireshark/wireshark/-/issues. تأكد من الدخول في الخطأ:
معلومات الإنشاء الكاملة من عنصر "حول wireshark" في قائمة المساعدة أو إخراج wireshark -v
لأخطاء wireshark وإخراج tshark -v
ل tshark bugs ؛
إذا حدث الخطأ على Linux ، فإن توزيع Linux الذي كنت تستخدمه ، وإصدار هذا التوزيع ؛
الأمر الذي استخدمته لاستدعاء Wireshark ، إذا ركضت Wireshark من سطر الأوامر ، أو Tshark ، إذا قمت بتشغيل Tshark ، وتسلسل العمليات التي قمت بها والتي تسببت في ظهور الأخطاء.
إذا تم إنتاج الأخطاء بواسطة ملف تتبع معين ، فيرجى التأكد من إرفاق ملف التتبع مع الوصف الخاص بك. إذا كان ملف التتبع يحتوي على معلومات حساسة (على سبيل المثال ، كلمات المرور) ، فالرجاء عدم إرسالها.
إذا توفي Wireshark عليك مع "انتهاك تجزئة" أو "خطأ الحافلة" أو "الإجهاض" أو أي خطأ آخر ينتج ملف Unix Core Dump ، فيمكنك مساعدة المطورين كثيرًا إذا تم تثبيت مصحح أخطاء. يمكن الحصول على تتبع المكدس باستخدام مصحح الأخطاء الخاص بك ("GDB" في هذا المثال) ، و Wireshark Binary ، والملف الأساسي الناتج. إليك مثال على كيفية استخدام أمر GDB "Backtrace" للقيام بذلك.
$ gdb wireshark core
(gdb) backtrace
..... prints the stack trace
(gdb) quit
$
يمكن تسمية ملف التفريغ الأساسي "wireshark.core" بدلاً من "Core" على بعض المنصات (على سبيل المثال ، أنظمة BSD). إذا حصلت على تفريغ أساسي مع Tshark بدلاً من Wireshark ، فاستخدم "Tshark" كحجة أولى لتصحيح الأخطاء ؛ يمكن تسمية تفريغ الأساس "tshark.core".
يتم توزيع Wireshark تحت GNU GPLV2. راجع نسخ الملف للحصول على النص الكامل للترخيص. عندما تكون في شك أن النص الكامل هو الجزء الملزم قانونًا. هذه الملاحظات هي فقط لتسهيل الأمر على الأشخاص الذين ليسوا على دراية بـ GPLV2.
لا توجد قيود على استخدامها. هناك قيود على توزيعها في المصدر أو النموذج الثنائي.
تتم تغطية معظم أجزاء Wireshark بترخيص "GPL الإصدار 2 أو الأحدث". تتم تغطية بعض الملفات بتراخيص مختلفة متوافقة مع GPLV2.
كاستثناء ملحوظ ، تتم تغطية بعض المرافق الموزعة مع مصدر Wireshark من خلال تراخيص أخرى غير متوافقة مباشرة مع GPLv2. هذا جيد ، حيث أن الأدوات نفسها هي فقط مرخصة بهذه الطريقة ، فإن إخراج الأدوات لا يعتبر عملاً مشتقًا ، وبالتالي يمكن ترخيصه بأمان لاستخدام Wireshark. يشمل اختيار غير مكتمل لهذه الأدوات:
يمكن بناء أجزاء من Wireshark وتوزيعها كمكتبات. لا تزال هذه الأجزاء مغطاة من قبل GPL ، وليس من خلال ترخيص عامة عامة أو أي ترخيص آخر.
إذا قمت بدمج كل أو جزء من Wireshark في تطبيقك الخاص واخترت نشره أو إطلاقه ، فيجب إصدار العمل المشترك بموجب شروط GPLV2.
لا يوجد أي ضمان أو معبر عنه أو ضمنيًا ، مرتبطًا بهذا المنتج. استخدم على مسؤوليتك الخاصة.
جيرالد كومز [email protected]
جيلبرت راميريز [email protected]
جاي هاريس [email protected]