
ngrep يشبه GNU grep لكن مُطبَّقًا على طبقة الشبكة. إنها أداة مبنية على PCAP تتيح لك تحديد تعبير نمطي موسّع أو تعبير سداسي عشري للمطابقة مع حمولات بيانات الحزم. وهي تفهم أنواعًا عديدة من البروتوكولات، بما في ذلك IPv4/6 وTCP وUDP وICMPv4/6 وIGMP وRaw، عبر مجموعة واسعة من أنواع الواجهات، وتفهم منطق تصفية BPF بالطريقة نفسها التي تفهم بها أدوات التقاط الحزم الأكثر شيوعًا، مثل tcpdump وsnoop.
ngrep يشبه GNU grep ولكن مُطبَّق على طبقة الشبكة. إنها أداة مبنية على PCAP تسمح لك بتحديد تعبير نمطي (regex) موسّع أو تعبير سداسي عشري لمطابقته مع حمولات بيانات الحزم. تفهم العديد من أنواع البروتوكولات، بما في ذلك IPv4/6 وTCP وUDP وICMPv4/6 وIGMP وRaw، عبر مجموعة واسعة من أنواع الواجهات، وتفهم منطق تصفية BPF بنفس أسلوب أدوات التقاط الحزم الأكثر شيوعًا، مثل tcpdump وsnoop.
-r)-uDLT_ الخاصة بـ BPF داخل libpcap (مثل DLT_LINUX_SLL)pcap_lookupdev)./configure --disable-tcpkill-d يسمح الآن باسم الجهاز (مثل \Device\...)delay_socket لصالح Sleep()build.ps1)أسهل طريقة لتشغيل ngrep هي عبر Docker:
docker pull ghcr.io/jpr5/ngrep:latest
docker run --rm --net=host --cap-add=NET_RAW ghcr.io/jpr5/ngrep:latest -q 'GET|POST' tcp port 80
انظر DOCKER للحصول على تعليمات استخدام Docker المفصّلة.
نزّل الملفات الثنائية المُجمّعة مسبقًا من صفحة Releases.
انظر INSTALL لتعليمات البناء.
طُوّر ngrep في الأصل من أجل:
كما يمكن استخدامه لجمع بيانات الاعتماد النصية الصريحة، مثلما هو الحال مع HTTP Basic Authentication أو مصادقة FTP أو POP3. ومثل جميع الأدوات المفيدة، يمكن استخدامه للخير وللشر.
قم بزيارة EXAMPLES لمعرفة المزيد حول كيفية عمل ngrep وكيف يمكن الاستفادة منه لرؤية جميع أنواع الأشياء الرائعة.
تم نقل ngrep على نطاق واسع إلى عدد كبير من المنصات، لكن مع مرور الوقت قلّ الوصول إليها. القائمة أدناه هي القائمة الأصلية؛ للحصول على قائمة حالية بالمنصات المؤكدة العمل، راجع autobuilds الخاصة بنا، والتي تشمل أشهر أنظمة التشغيل وسلاسل أدوات الترجمة ومعماريات المعالجات.
إذا كنت بحاجة إلى مساعدة، أو لديك ملاحظات بناءة، أو ترغب في تقديم تصحيح (patch)، فيرجى زيارة مشروع ngrep على GitHub واستخدام الأدوات المتوفرة هناك. سيساعد ذلك المؤلف في إدارة الطلبات والتصحيحات المختلفة بشكل أفضل بحيث لا يُفقد أو يُغفل أي شيء (كما كان الحال في الماضي، للأسف).
يُرجى مراجعة CREDITS للحصول على قائمة جزئية بالعديد من الأشخاص الذين ساعدوا في جعل ngrep على ما هو عليه اليوم. كما يُرجى ملاحظة أن ngrep يُنشر بموجب ترخيص بسيط بنمط BSD، على الرغم من أنه اعتمادًا على مكتبة regex التي تترجم ضدها، ستحصل إما على GPL (GNU regex) أو BSD (PCRE2).
على مدى عقود (!)، تم تضمين ngrep فعليًا في العديد من التوزيعات الشهيرة، والعديد منها لديه قائمون متخصصون على الحزم. وقد تعامل العديد منهم بشكل مفيد مع المشكلات التي أبلغ عنها مستخدمو توزيعاتهم، بل وأنشأوا تصحيحات لـ ngrep — لكن نادرًا ما يتم إطلاعي على ذلك. كل بضع سنوات أضطر إلى البحث عن تقارير الأخطاء والتصحيحات التي قد تكون موجودة، غالبًا في أنظمة تتبع خاصة بالبائعين وغامضة، حتى أتمكن من دمجها لصالح الجميع. وأحيانًا لا أعثر عليها جميعًا.
إذا كنت قائمًا على حزم لنظام تشغيل أو توزيعة، وتجد نفسك تتعامل مع تقرير خطأ أو تكتب تصحيحًا لـ ngrep، فيرجى على الأقل وضعي في نسخة (CC) حتى أتمكن من تتبع المشكلة (وربما حلها). ومن الأفضل أن ترسل لي رابطًا لتصحيح أو طلب سحب (pull request) حتى أراجعه وأدمجه.
من وجهة نظري، في النهاية هذا هو الكود الخاص بي، لذا فهذه مسؤوليتي، لكنني لا أستطيع أن أكون في كل مكان لأرى كل شيء. أحتاج مساعدتك لأقوم بعمل جيد.
شكرًا لك، بصدق، على كل ما قمت به، وكل ما ستقوم به. 🙏