.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1999, Andi Kleen .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-1-para .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH raw 7 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم raw \- مقابس IPv4 الخام في لينكس .SH موجز .nf \fB#include \fP \fB#include \fP \fBraw_socket = socket(AF_INET, SOCK_RAW, int \fP\fIprotocol\fP\fB);\fP .fi .SH الوصف تسمح المقابس الخام بتنفيذ بروتوكولات IPv4 جديدة في مساحة المستخدم. يستقبل أو يرسل المقبس الخام الرزمة الخام دون تضمين ترويسات مستوى الوصلة. .P يولد طبقة IPv4 ترويسة IP عند إرسال رزمة ما لم يتم تمكين خيار المقبس \fBIP_HDRINCL\fP على المقبس. عند تمكينه، يجب أن تحتوي الرزمة على ترويسة IP. للاستقبال، تُضمن ترويسة IP دائمًا في الرزمة. .P لإنشاء مقبس خام، يجب أن تمتلك العملية القدرة \fBCAP_NET_RAW\fP في مساحة المستخدم التي تحكم مساحة الشبكة الخاصة بها. .P تُمرر جميع الرزم أو الأخطاء المطابقة لرقم \fIprotocol\fP المحدد للمقبس الخام إلى هذا المقبس. للحصول على قائمة البروتوكولات المسموح بها، راجع قائمة IANA لأرقام البروتوكولات المعينة في .UR http:\://www.iana.org/assignments/protocol\-numbers/ .UE و \fBgetprotobyname\fP(3). .P بروتوكول \fBIPPROTO_RAW\fP يعني تمكين \fBIP_HDRINCL\fP ويكون قادرًا على إرسال أي بروتوكول IP محدد في الترويسة الممررة. استقبال جميع بروتوكولات IP عبر \fBIPPROTO_RAW\fP غير ممكن باستخدام المقابس الخام. .RS .TS tab(:) allbox; c s l l. حقول ترويسة IP المعدلة عند الإرسال بواسطة \f[B]IP_HDRINCL\fR مجموع تدقيق IP:يُملأ دائمًا عنوان المصدر:يُملأ عندما يكون صفرًا معرف الرزمة:يُملأ عندما يكون صفرًا الطول الإجمالي:يُملأ دائمًا .TE .RE .P إذا تم تحديد \fBIP_HDRINCL\fP وكانت ترويسة IP تحتوي على عنوان وجهة غير صفري، فسيُستخدم عنوان وجهة المقبس لتوجيه الرزمة. عند تحديد \fBMSG_DONTROUTE\fP، يجب أن يشير عنوان الوجهة إلى واجهة محلية، وإلا فسيتم إجراء بحث في جدول التوجيه على أي حال ولكن يتم تجاهل المسارات المُمررة عبر البوابة. .P إذا لم يتم تعيين \fBIP_HDRINCL\fP، فيمكن تعيين خيارات ترويسة IP على المقابس الخام باستخدام \fBsetsockopt\fP(2)؛ راجع \fBip\fP(7) لمزيد من المعلومات. .P بدءًا من لينكس 2.2، يمكن تعيين جميع حقول وخيارات ترويسة IP باستخدام خيارات مقبس IP. هذا يعني أن المقابس الخام عادةً ما تكون ضرورية فقط للبروتوكولات الجديدة أو البروتوكولات التي لا تحتوي على واجهة مستخدم (مثل ICMP). .P عند استقبال رزمة، تُمرر إلى أي مقابس خام تم ربطها ببروتوكولها قبل تمريرها إلى معالجات البروتوكول الأخرى (مثل وحدات بروتوكول النواة). .SS "تنسيق العنوان" .\" commit f59fc7f30b710d45aadf715460b3e60dbe9d3418 لإرسال واستقبال الرزم (\fBsendto\fP(2)، \fBrecvfrom\fP(2)، وما شابه)، تستخدم المقابس الخام بنية العنوان القياسية \fIsockaddr_in\fP المعرفة في \fBip\fP(7). يمكن استخدام حقل \fIsin_port\fP لتحديد رقم بروتوكول IP، ولكن يتم تجاهله للإرسال في لينكس 2.2 والإصدارات الأحدث، ويجب دائمًا تعيينه إلى 0 (راجع الأخطاء). للرزم الواردة، يتم تعيين \fIsin_port\fP إلى صفر. .SS "خيارات المقبس" .\" Or SOL_RAW on Linux يمكن تعيين خيارات المقبس الخام باستخدام \fBsetsockopt\fP(2) وقراءتها باستخدام \fBgetsockopt\fP(2) عن طريق تمرير علم العائلة \fBIPPROTO_RAW\fP. .TP \fBICMP_FILTER\fP تمكين مرشح خاص للمقابس الخام المرتبطة ببروتوكول \fBIPPROTO_ICMP\fP. تحتوي القيمة على بت مضبوط لكل نوع رسالة ICMP يجب تصفيته. المبدئي هو عدم تصفية أي رسائل ICMP. .P بالإضافة إلى ذلك، جميع خيارات مقبس \fBip\fP(7) \fBIPPROTO_IP\fP الصالحة لمقابس الرزم مدعومة. .SS "معالجة الأخطاء" تُمرر الأخطاء الناشئة من الشبكة إلى المستخدم فقط عندما يكون المقبس متصلاً أو يتم تمكين علم \fBIP_RECVERR\fP. للمقابس المتصلة، يتم تمرير \fBEMSGSIZE\fP و \fBEPROTO\fP فقط للتوافق. مع \fBIP_RECVERR\fP، تُحفظ جميع أخطاء الشبكة في قائمة انتظار الأخطاء. .SH الأخطاء .TP \fBEACCES\fP حاول المستخدم الإرسال إلى عنوان بث دون تعيين علم البث على المقبس. .TP \fBEFAULT\fP تم توفير عنوان ذاكرة غير صالح. .TP \fBEINVAL\fP معطى غير صالح. .TP \fBEMSGSIZE\fP الحزمة كبيرة جدًا. إما أن اكتشاف MTU للمسار مفعل (علامة المقبس \fBIP_MTU_DISCOVER\fP) أو أن حجم الحزمة يتجاوز الحد الأقصى المسموح به لحجم حزمة IPv4 البالغ 64 كيلوبايت. .TP \fBEOPNOTSUPP\fP تم تمرير علامة غير صالحة إلى استدعاء مقبس (مثل \fBMSG_OOB\fP). .TP \fBEPERM\fP ليس لدى المستخدم صلاحية فتح مقابس خام. فقط العمليات التي تحمل معرف مستخدم فعال بقيمة 0 أو السمة \fBCAP_NET_RAW\fP يمكنها فعل ذلك. .TP \fBEPROTO\fP وصل خطأ ICMP يبلغ عن مشكلة في المعامل. .SH الإصدارات \fBIP_RECVERR\fP و \fBICMP_FILTER\fP جديدان في لينكس 2.2. هما امتدادات لينكس ولا ينبغي استخدامهما في البرامج المحمولة. .P فعّل لينكس 2.0 بعض التوافق من علة إلى علة مع BSD في كود المقبس الخام عند تعيين خيار المقبس \fBSO_BSDCOMPAT\fP؛ منذ لينكس 2.2، لم يعد لهذا الخيار ذلك التأثير. .SH ملاحظات افتراضيًا، تقوم المقابس الخام باكتشاف MTU للمسار (وحدة الإرسال القصوى). هذا يعني أن النواة ستتتبع MTU إلى عنوان IP هدف محدد وستعيد \fBEMSGSIZE\fP عندما يتجاوز كتابة حزمة خام هذا الحد. عندما يحدث هذا، يجب على التطبيق تقليل حجم الحزمة. يمكن أيضًا إيقاف اكتشاف MTU للمسار باستخدام خيار المقبس \fBIP_MTU_DISCOVER\fP أو الملف \fI/proc/sys/net/ipv4/ip_no_pmtu_disc\fP، انظر \fBip\fP(7) للتفاصيل. عند إيقافه، ستقوم المقابس الخام بتجزئة الحزم الصادرة التي تتجاوز MTU للواجهة. ومع ذلك، لا يُوصى بتعطيله لأسباب تتعلق بالأداء والموثوقية. .P يمكن ربط مقبس خام بعنوان محلي محدد باستخدام استدعاء \fBbind\fP(2). إذا لم يكن مربوطًا، فسيتم استقبال جميع الحزم ببروتوكول IP المحدد. بالإضافة إلى ذلك، يمكن ربط مقبس خام بجهاز شبكة محدد باستخدام \fBSO_BINDTODEVICE\fP؛ انظر \fBsocket\fP(7). .P مقبس \fBIPPROTO_RAW\fP هو للإرسال فقط. إذا كنت تريد حقًا استقبال جميع حزم IP، فاستخدم مقبس \fBpacket\fP(7) مع بروتوكول \fBETH_P_IP\fP. لاحظ أن مقابس الحزم لا تعيد تجميع أجزاء IP، على عكس المقابس الخام. .P إذا كنت تريد استقبال جميع حزم ICMP لمقبس مخطط بيانات، فغالبًا ما يكون من الأفضل استخدام \fBIP_RECVERR\fP على ذلك المقبس المعين؛ انظر \fBip\fP(7). .P قد تتنصت المقابس الخام على جميع بروتوكولات IP في لينكس، حتى البروتوكولات مثل ICMP أو TCP التي تحتوي على وحدة بروتوكول في النواة. في هذه الحالة، تُمرر الحزم إلى كل من وحدة النواة والمقبس (المقابس) الخام. لا ينبغي الاعتماد على هذا في البرامج المحمولة، فالعديد من تطبيقات مقبس BSD الأخرى لها قيود هنا. .P لا يغير لينكس أبدًا الرؤوس الممررة من المستخدم (باستثناء ملء بعض الحقول المصفرة كما هو موصوف لـ \fBIP_HDRINCL\fP). هذا يختلف عن العديد من التطبيقات الأخرى للمقابس الخام. .P المقابس الخام بشكل عام غير محمولة إلى حد ما ويجب تجنبها في البرامج المعدة لتكون محمولة. .P يجب أن يأخذ الإرسال على المقابس الخام بروتوكول IP من \fIsin_port\fP؛ فُقدت هذه القدرة في لينكس 2.2. الحل البديل هو استخدام \fBIP_HDRINCL\fP. .SH العلل امتدادات الوكيل الشفاف غير موصوفة. .P عند تعيين خيار \fBIP_HDRINCL\fP، لن يتم تجزئة مخططات البيانات وستكون محدودة بـ MTU للواجهة. .P .\" .SH AUTHORS .\" This man page was written by Andi Kleen. فُقد تعيين بروتوكول IP للإرسال في \fIsin_port\fP في لينكس 2.2. يُستخدم دائمًا البروتوكول الذي رُبط به المقبس أو الذي حُدد في استدعاء \fBsocket\fP(2) الأولي. .SH "انظر أيضًا" \fBrecvmsg\fP(2), \fBsendmsg\fP(2), \fBcapabilities\fP(7), \fBip\fP(7), \fBsocket\fP(7) .P \fBRFC\ 1191\fP لاكتشاف MTU للمسار. \fBRFC\ 791\fP وملف الرأس \fI\fP لبروتوكول IP. .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .