أقسام الموقع
اختيار المحرر:
- لماذا يحتاج الكمبيوتر المحمول إلى SSD صغير وهل يستحق تثبيت Windows عليه؟
- إدخال إطار. إنشاء الإطارات. توفير بديل noframes
- استعادة نظام Windows إعداد الاسترداد التلقائي الذي لا ينتهي
- إصلاح محرك أقراص فلاش باستخدام البرامج كيفية إصلاح منفذ USB على جهاز كمبيوتر محمول
- بنية القرص تالفة، القراءة غير ممكنة، ماذا علي أن أفعل؟
- ما هي الذاكرة المؤقتة للقرص الصلب ولماذا هي مطلوبة وما هو حجم ذاكرة التخزين المؤقت المسؤول عن ذلك؟
- مما يتكون الكمبيوتر؟
- هيكل وحدة النظام - ما هي المكونات المسؤولة عن تشغيل الكمبيوتر ميزات الأجهزة الداخلية لوحدة النظام
- كيفية تغيير القرص الصلب إلى SSD
- تشمل أجهزة الإدخال
دعاية
الطب الشرعي لنظام التشغيل Linux في شكل تتبع سجل اتصال أجهزة USB. الطب الشرعي لنظام Linux في شكل تتبع سجل اتصال أجهزة USB المتصلة بأجهزة USB Linux |
USB - الناقل التسلسلي العالمي الناقل التسلسلي) تم تطويره من قبل مجموعة من الشركات بهدف توفير ناقل واحد بسيط لتوصيل الأجهزة الطرفية. يتيح تصميم USB للأجهزة الاتصال بسرعة باستخدام مقابس قياسية للاتصال. تشتمل أجهزة USB على: لوحات المفاتيح، وأجهزة الماوس، والطابعات، والماسحات الضوئية، الأقراص الصلبةومحركات الأقراص المحمولة والكاميرات وأجهزة المودم، محولات الشبكةوالأعمدة، وقائمتهم تتزايد باستمرار. يعد دعم Linux لأجهزة USB شاملاً تمامًا، ولكن بعض الأجهزة تتطلب برامج تشغيل خاصة، والبعض الآخر، وخاصة الطابعات والماسحات الضوئية، قد لا يكون مدعومًا أو مدعومًا جزئيًا فقط. قد تحتوي أنظمة الكمبيوتر على وحدة تحكم أو لوحات وصل واحدة أو أكثر مصممة لتوصيل أجهزة USB أو لوحة وصل (خارجية) أخرى. يمكن أن يدعم المحور ما يصل إلى 7 أجهزة، والتي بدورها يمكن أن تحتوي على محاور إضافية. المحور بالداخل وحدة النظاميسمى مركز الجذر. يمكن لكل هيكل نجمي أن يدعم ما يصل إلى 127 محورًا أو جهازًا. عندما نقول منفذ USB، فإننا نعني دعم USB للكمبيوتر ومنفذ الاتصال، وليس عنوان المنفذ الداخلي الذي يستخدمه الجهاز. تسمح طبقات نظام USB للمضيف بتحديد خصائص جهاز USB، بما في ذلك الفئة واسم الشركة المصنعة واسم الجهاز ومتطلبات الجهد والسرعة ومستوى دعم USB والوظائف الأخرى. وحدة دعم جهاز Linux USBأجهزة USB مدعومة حاليًا بشكل كامل على نظام التشغيل Linux. ظهرت معظم التغييرات في فرع النواة 2.6، على الرغم من وجود بعض الدعم حتى في النواة 2.2. يدعم Linux كلاً من USB 2.0 والمواصفات السابقة. نظرًا لطبيعة التوصيل السريع لـ USB، يتم الدعم عادةً من خلال وحدات kernel التي يمكن تحميلها أو تفريغها حسب الحاجة. يسمح لك الأمر lspci بعرض أجهزة USB: Root@localhost:~:# lspci | grep -i usb 00:03.0 وحدة تحكم USB: أنظمة متكاملة من السيليكون وحدة تحكم USB 1.1 (rev 0f) 00:03.1 وحدة تحكم USB: أنظمة متكاملة من السيليكون وحدة تحكم USB 1.1 (rev 0f) 00:03.3 وحدة تحكم USB: وحدة تحكم USB 2.0 للأنظمة المتكاملة من السيليكون يوضح إخراج الأمر وجود 3 وحدات تحكم USB في النظام. باستخدام الأمر lsmod، يمكنك عرض وحدات USB المحملة: Root@localhost:~:# lsmod | egrep "usb|hci|hid|mouse|Module" حجم الوحدة المستخدمة بواسطة hid_microsoft 3232 0 usbhid 32992 0 hid 39040 2 hid_microsoft,usbhid ohci_hcd 24332 0 psmouse 41644 0 ssb 38464 1 ohci_hcd eh ci_hcd 3 4152 0 عرض أجهزة USB المتصلةيوجد ملخص لأجهزة USB المتصلة حاليًا في الملف /proc/bus/usb/devices. يمكنك عرضه باستخدام الأمر التالي: Root@localhost:~:# cat /proc/bus/usb/devices T: Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 3 B: Alloc= 0/900 us (0%)، #Int= 0، #Iso= 0 D: Ver= 1.10 Cls=09(hub) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1d6b ProdID=0001 Rev= 2.06 S: الشركة المصنعة=Linux 2.6.29.6 ohci_hcd S: المنتج=وحدة التحكم المضيف OHCI S: الرقم التسلسلي=0000:00:03.1 C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt = 0 #EPs= 1 Cls=09(hub) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 3 B: Alloc= 28/900 us (3%)، #Int= 2، #Iso= 0 D: Ver= 1.10 Cls=09( hub) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: البائع=1d6b ProdID=0001 Rev= 2.06 S: الشركة المصنعة=Linux 2.6.29.6 ohci_hcd S: المنتج=وحدة تحكم مضيف OHCI S: الرقم التسلسلي=0000:00: 03.0 C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub) Sub=00 Prot=00 Driver=hub E: Ad =81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: البائع=045e ProdID=00db Rev= 1.73 S: الشركة المصنعة=Microsoft S: المنتج=Natural � لوحة مفاتيح مريحة 4000 C:* #Ifs = 2 Cfg#= 1 Atr=a0 MxPwr=100mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID) Sub=01 Prot=01 Driver=usbhid E: Ad=81(I) Atr =03(Int.) MxPS= 8 Ivl=10ms I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID) Sub=00 Prot=00 Driver=usbhid E: Ad=82(I) Atr =03(Int.) MxPS= 8 Ivl=10ms T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 6 B: تخصيص= 0/800 us (0% ), #Int= 0, #Iso= 0 D: Ver= 2.00 Cls=09(hub) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1d6b ProdID=0002 Rev= 2.06 S: الشركة المصنعة= Linux 2.6.29.6 ehci_hcd S: Product=EHCI Host Controller S: SerialNumber=0000:00:03.3 C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs = 1 Cls=09(hub) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms في القائمة Spd=480 يتوافق مع حافلة USB 2.0، وSpd=12 - لأجهزة USB 1.1. علاوة على ذلك، يمكنك أن ترى في القائمة أنه يوجد حاليًا جهاز USB واحد متصل بالنظام - Microsoft Natural Ergonomic Keyboard 400 (Spd=1.5). بطبيعة الحال، أكتب هذا النص على لوحة المفاتيح هذه. يمكن رؤية التسلسل الهرمي لاتصالات أجهزة USB باستخدام الأمر lsusb مع الخيار -t: Root@localhost:~:# lsusb -t Bus# 3 `-Dev# 1 البائع 0x1d6b المنتج 0x0001 الناقل # 2 `-Dev# 1 البائع 0x1d6b المنتج 0x0001 `-Dev# 2 البائع 0x045e المنتج 0x00db الناقل # 1 `-Dev# 1 بائع 0x1d6b المنتج 0x0002 يمكن الحصول على معلومات حول جهاز USB محدد باستخدام الأمر التالي: Root@localhost:~:# lsusb -vd 0x045e:0x00db Bus 002 الجهاز 002: ID 045e:00db Microsoft Corp. لوحة المفاتيح الطبيعية المريحة 4000 V1.0 واصف الجهاز: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (محدد على مستوى الواجهة) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x045e Microsoft Corp. idProduct 0x00db لوحة المفاتيح الطبيعية المريحة 4000 V1.0 bcdDevice 1.73 iManufacturer 1 Microsoft iProduct 2 لوحة المفاتيح الطبيعية المريحة 4000 iSerial 0 bNumConfigurations 1 واصف التكوين: bLength 9 bDescriptorType 2 wTotalLength 59 bNumInterfaces 2 bConfigurationV alue 1 iConfiguration 0 bmAttributes 0xa0 (يعمل بالحافلة) Remote Wakeup MaxPower 100mA واصف الواجهة: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 جهاز الواجهة البشرية bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 1 Keyboard iInterface 0 ** غير معروف: 09 21 11 01 00 01 22 3c 00 Endpoint Descript أو: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 نوع النقل المقاطعة نوع المزامنة لا شيء نوع الاستخدام البيانات wMaxPacketSize 0x0008 1x 8 بايت bInterval 10 واصف الواجهة: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 جهاز الواجهة البشرية bInterfaceSubClass 0 لا فئة فرعية bInterfaceProto col 0 لا يوجد iInterface 0 ** غير معروف: 09 21 11 01 00 01 22 56 00 واصف نقطة النهاية: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 نوع النقل المقاطعة نوع المزامنة لا شيء نوع الاستخدام البيانات wMaxPacketSize 0x0008 1x 8 بايت bInterval 10 حالة الجهاز: 0x0000 (يعمل بالحافلة ) توصيل جهاز USB بسرعةتتمتع الأنظمة الجديدة بدعم لتوصيل أجهزة USB بسرعة (التوصيل السريع)، وهو ما يعني توصيل الجهاز بنظام التشغيل، والذي يجب أن:
كجزء من انغماسي في أحد التخصصات (أثناء دراستي لتخصص أمن الكمبيوتر)، عملت على مشروع ترفيهي واحد لا أريد أن أدفنه ببساطة في أعماق مجلد "Univer" على قرص صلب خارجي. هذا المشروع يسمى usbripوهي أداة مساعدة صغيرة مفتوحة المصدر لوحدة التحكم في الطب الشرعي لنظام التشغيل Linux، وهي مخصصة للعمل مع سجل اتصالات أجهزة USB. البرنامج مكتوب بلغة Python 3 النقية (باستخدام بعض الوحدات النمطية التابعة لجهات خارجية) ولا يتطلب تبعيات بخلاف مترجم Python 3.x وسطرين من المتطلبات.txt، تم حلها في سطر واحد باستخدام النقطة. سأصف في هذا المنشور بعض إمكانيات هذا البرنامج وأترك دليلًا قصيرًا يحتوي على رابط لمصدر التنزيل. يقطع! (...أعني قطع!) ملحوظة. الوظيفة الموضحة في المقالة ذات صلة بإصدار الأداة المساعدة. خلف احدث اصدارمع الكثير من الأشياء الجيدة الجديدة، أقترح الذهاب إلى المستودع. لقطات الشاشةالحصول على سجل الاتصال لأجهزة USB القابلة للإزالة:البحث عن معلومات إضافية حول جهاز USB بواسطة معرف الطراز (PID): وصفكما تعلم، أنظمة التشغيل المبنية على GNU/Linux حساسة جدًا لتسجيل أنواع مختلفة من الأحداث، وتوصيل/فصل أجهزة USB ليس استثناءً. بالاشتراك مع إحدى فلسفة UNIX "تدفقات النص كواجهات عالمية" يمكن العثور على معلومات حول نتائج مثل هذه الأحداث (بدرجات متفاوتة من التفاصيل) اعتمادًا على التوزيع في واحد أو أكثر من الملفات النصية التالية:
من أجل عمله، يعثر usbrip على ملفات سجل عالمية لجميع إصدارات Linux المستندة إلى Debian (Ubuntu، وLinux Mint، وما إلى ذلك) وRPM (CentOS، وFedora، وopenSUSE، وما إلى ذلك)، وهي: /var/log/syslog* أو /var/log/messages* ، يقوم بتحليلها للبحث عنها معلومات ضروريةويحول الآثار التي تم العثور عليها لاتصالات جهاز USB إلى لوحات جميلة (أو قوائم - كل ما تريد). يمكن لـ USBrip أيضًا:
مرجعاحصل على قائمة بالوحدات المتاحة:$ python3 usbrip.py -h $python3 usbrip.py<модуль>-ح $python3 usbrip.py<модуль> <подмодуль>-ح بناء الجملة$ python3 usbrip.pybanner يعرض شعار الأداة المساعدة على الشاشة. تاريخ أحداث $ python3 usbrip.py [-q] [-t | -l] [-e] [-n عدد الأحداث] [-d التاريخ [التاريخ...]] [-c عمود [عمود...]] [-f ملف السجل [ملف السجل...]] عرض اتصال USB التاريخ. أحداث $ python3 usbrip.py gen_auth<ВЫХОДНОЙ_ФАЙЛ.JSON>[-a SIGN [SIGN...]] [-q] [-e] [-n NUMBER_EVENTS] [-d DATE [DATE...]] [-f LOG_FILE [LOG_FILE...]] تشكيل القائمة من أجهزة USB المعتمدة (الموثوقة). $ python3 usbrip.py انتهاكات الأحداث<ВХОДНОЙ_ФАЙЛ.JSON>[-حرف [الشحن...]] [-q] [-t | -l] [-e] [-n عدد الأحداث] [-d التاريخ [التاريخ...]] [-c عمود [عمود...]] [-f ملف السجل [ملف السجل...]] البحث عن " الأحداث المخالفة" " بناءً على قائمة الأجهزة الموثوقة. البحث عن معرفات $ python3 usbrip.py [-q] [ --فيد فيد] [--معرف المنتج] [--غير متصل] ابحث عن معلومات إضافية حول الجهاز من خلال VID و/أو PID الخاص به في قاعدة بيانات المعرفات. تنزيل معرفات $ python3 usbrip.py [-q] تحديث (تنزيل) قاعدة بيانات معرف جهاز USB المحلي.خياراتالخيارات المدعومة من قبل الوحدات الفرعية "سجل الأحداث"، و"events gen_auth"، و"انتهاكات الأحداث"، و"بحث معرفات الهوية"، و"تنزيل معرفات التعريفات": -q، --quiet احذف عرض الشعارات ورسائل المعلومات (الخضراء)، وقم بتنفيذ الأمر عدم طرح الأسئلة أثناء التنفيذ ######################################################################### ## ############################### الخيارات التي يدعمها "سجل الأحداث"، " الأحداث gen_auth" الوحدات الفرعية "، "انتهاكات الأحداث": -e، --البحث الخارجي فقط عن أجهزة USB القابلة للإزالة (التي تحتوي على معلومات قطع الاتصال) -n عدد الأحداث، --number عدد الأحداث عدد الأحداث الأخيرة حسب التاريخ التي سيتم سيتم عرض -d DATE [DATE..], --date DATE [DATE...] قائمة التواريخ التي سيتم من خلالها تصفية الأحداث عند البحث -f LOG_FILE [LOG_FILE...], --file LOG_FILE [LOG_FILE. ..] قائمة ملفات السجل (إذا لم يتم تحديدها، فسيتم البحث في سجل الأحداث باستخدام ملفات السجل الافتراضية: /var/log/syslog* أو /var/log/messages* اعتمادًا على إصدار نظام التشغيل) ##### ######## ############################################################################################### ######## ###################### الخيارات المدعومة بواسطة الوحدات الفرعية "سجل الأحداث"، "انتهاكات الأحداث": -t، -- ينشئ الجدول مخرجات في شكل جدول (إذا كان حجم النافذة الطرفية غير كافٍ لعرض الجدول بشكل صحيح، فسيتم إنشاء المخرجات تلقائيًا في شكل قائمة؛ عند تحديد العلامة -t، سيتم إنشاء الإخراج في شكل جدول قسريًا) -l، --list إنشاء الإخراج كقائمة -c COLUMN [COLUMN...]، --column COLUMN [COLUMN.. .] قائمة الأعمدة التي سيتم استخدامها عند إنشاء جدول (يكون لها تأثير فقط عند إنشاء مخرجات على شكل جدول)؛ المفاتيح المسموح بها: "conn"، "user"، "vid"، "pid"، "prod"، "manufact"، "serial"، "port"، "disconn". ##################################################################################################### ############################# الخيارات المدعومة بواسطة الوحدات الفرعية "events gen_auth"، "انتهاكات الأحداث": - علامة [SIGN...]، --attribute SIGN [SIGN...] قائمة السمات التي سيتم استخدامها عند إنشاء قائمة بالأجهزة المعتمدة (وكذلك عند البحث عن "أحداث مخالفة" في حالة الوحدة الفرعية "انتهاكات الأحداث")؛ المفاتيح المسموح بها: "vid"، "pid"، "prod"، "manufact"، "serial". ##################################################################################################### ## طلب -معرف بائع VID أو معرف الشركة المصنعة لجهاز USB (عادةً 4 أرقام سداسية عشرية) --معرف منتج PID أو معرف طراز جهاز USB (عادةً 4 أرقام سداسية عشرية) - غير متصل إذا تم تحديده، ابحث عن معلومات إضافية حول جهاز USB في قاعدة البيانات سيتم إنتاج بيانات التعريف دون تحديثها أولاً (قاعدة البيانات)أمثلة على الاستخدامإظهار سجل الاتصال لجميع أجهزة USB، مع حذف اللافتة والرسائل الإعلامية (الخضراء)، وأيضًا دون طرح أسئلة أثناء التنفيذ (-q، --quite)، وإنشاء الإخراج في شكل قائمة (-l، -- القائمة)، بما في ذلك الذي يحتوي على أحدث 100 حدث تم العثور عليه (-n عدد الأحداث، --number عدد الأحداث):سجل أحداث $ python3 usbrip.py -ql -n 100 إظهار سجل الاتصال لأجهزة USB القابلة للإزالة (-e، -external)، وإنشاء الإخراج في شكل جدول يحتوي على حقول (أعمدة) "متصل" و"VID" و"PID" و"غير متصل" و"الرقم التسلسلي" "(-c COLUMN [COLUMN...]، --column COLUMN [COLUMN...])، تصفية البحث حسب التواريخ (-d DATE [DATE...]، --date DATE [DATE...] )، وأخذ المعلومات من ملفات السجل الخارجية (-f LOG_FILE [LOG_FILE...], --file LOG_FILE [LOG_FILE...]): $ python3 usbrip.py تاريخ الأحداث -et -c conn معرف المنتج disconn serial -d "9 ديسمبر" "10 ديسمبر" -f /var/log/syslog.1 /var/log/syslog.2.gz قم بإنشاء جدول لسجل الاتصال لجميع أجهزة USB وأعد توجيه الإخراج إلى ملف لمزيد من التحليل. في حالة أن دفق الإخراج ليس قياسيًا ("|" أو ">" على سبيل المثال)، فلن تكون الدفقات الخاصة موجودة في بيانات الإخراج. الأحرف المسؤولة عن لون الخط في الوحدة الطرفية، لذلك لن يكون الملف النصي ممتلئًا بأحرف غير قابلة للقراءة. تجدر الإشارة أيضًا إلى أن usbrip يستخدم بعض ثوابت UNICODE، لذا سيكون من الجيد تحويل الترميز على الفور الملف الذي تم إنشاؤهفي UTF-8 لعرضها بشكل صحيح (على سبيل المثال، باستخدام encov)، وكذلك استخدام الأحرف خط جديدبأسلوب Windows لسهولة النقل (على سبيل المثال باستخدام awk): أحداث تاريخ $ python3 usbrip.py -t | awk "( sub("$", "\r"); طباعة )" > usbrip.txt && enconv -x UTF8 usbrip.txt ملحوظة:تخلص من خاص من الممكن أيضًا استخدام الأحرف المسؤولة عن اللون إذا تم إرسال الإخراج بالفعل إلى stdout. للقيام بذلك، تحتاج إلى نسخ البيانات المستلمة إلى ملف usbrip.txt جديد وإضافة تعليمات awk أخرى: $ awk "( sub("$", "\r"); gsub("\\x1B\\[*[ -/]*[@-~]", ""); طباعة )" usbrip.txt && enconv -x UTF8 usbrip.txt أنشئ قائمة بالأجهزة الموثوقة على شكل ملف JSON (trusted/auth.json) يحتوي على الحقلين "VID" و"PID" للأول ثلاثةالأجهزة المتصلة في 26 سبتمبر: أحداث $ python3 usbrip.py gen_auth Trust/auth.json -a vid pid -n 3 -d "26 سبتمبر" ابحث عن "أحداث المخالف" بين محفوظات اتصالات أجهزة USB القابلة للإزالة استنادًا إلى قائمة الأجهزة الموثوقة (trusted/auth.json) باستخدام حقل "PID" وقم بإنشاء الإخراج في شكل جدول مع "متصل"، الحقول "VID" و"PID": $ python3 usbrip.py أحداث الانتهاكات Trust/auth.json -a pid -et -c conn vid pid ابحث عن معلومات إضافية حول جهاز USB استنادًا إلى VID وPID الخاص به: البحث عن معرفات $ python3 usbrip.py --vid 0781 --pid 5580 تنزيل/تحديث قاعدة بيانات معرف جهاز USB (المصدر): تنزيل معرفات $ python3 usbrip.py الروابط والتذييليمكنك الحصول على الأداة المساعدة من Github، حيث يتم إدراج جميع التبعيات الخاصة بالتشغيل والتشغيل الصحيح المتطلبات.txt.أشكر لك إهتمامك! ملاحظة.نعم، أسلوب راية و رسائل المعلوماتمستوحاة من المشروع com.sqlmap (*^.^*) محدث 06/13/2018.كان هناك تحقيق في قضية حقيقية (؟) تتعلق بفائدتي من شخص لديه Codeby (أشعر بالصدمة، لأكون صادقًا). كجزء من انغماسي في أحد التخصصات (أثناء دراستي في تخصص كومبيزا)، عملت على مشروع واحد مثير للاهتمام لا أريد أن أدفنه ببساطة في أعماق مجلد "Univer" على قرص صلب خارجي يقود. هذا المشروع يسمى usbripوهي أداة مساعدة صغيرة مفتوحة المصدر لوحدة التحكم في الطب الشرعي لنظام التشغيل Linux، وهي مخصصة للعمل مع سجل اتصالات أجهزة USB. البرنامج مكتوب بلغة Python 3 النقية (باستخدام بعض الوحدات النمطية التابعة لجهات خارجية) ولا يتطلب تبعيات بخلاف مترجم Python 3.x وبضعة أسطر من المتطلبات.txtتم حلها في سطر واحد باستخدام pip3. سأصف في هذا المنشور بعض إمكانيات هذا البرنامج وأترك دليلًا قصيرًا يحتوي على رابط لمصدر التنزيل. تنزيل معرفات $ python3 usbrip.py الروابط والتذييليمكنك الحصول على الأداة المساعدة من جيثبتم إدراج جميع التبعيات الخاصة بالتشغيل والتشغيل الصحيح في المتطلبات.txtأشكر لك إهتمامك! ملاحظة.نعم، أسلوب اللافتة والرسائل الإعلامية مستوحى من المشروع com.sqlmapلقد قمت بتوصيل محرك أقراص USB محمول أو لوحة مفاتيح أو ماوس بجهاز الكمبيوتر الذي يعمل بنظام التشغيل Linux. ولكن لا شيء يحدث. ماذا جرى؟ لماذا لا يكتشف جهاز الكمبيوتر الذي يعمل بنظام التشغيل Linux الجهاز؟ هل هو Linux أم أن جهاز USB الخاص بك توقف عن العمل؟ USB لا يعمل في أوبونتو؟محركات الأقراص وقارئات بطاقات الذاكرة والهواتف ومشغلات الوسائط و الأجهزة الطرفيةالوسائط المتعددة... كلها مفيدة، ولكن إذا كانت هناك مشكلة في منفذ USB أو برامج تشغيل النظام الخاص بك، فلن تعمل. قد يكون هذا محبطًا بشكل خاص إذا كنت تستخدم لوحة مفاتيح أو ماوس Bluetooth (مع دونجل USB)، لأنه يعني البحث عن بدائل USB سلكية. ومع ذلك، قد لا يكون ميناء ميتا. قد يكون جهاز USB الذي تستخدمه معيبًا ولا يمكن اكتشافه. قد يكون حل مشكلات USB أمرًا صعبًا، ولكن ليس من المستحيل تشخيص هذه المشكلات وإجراء الإصلاحات اللازمة. هناك خمس خطوات لإصلاح مشكلات USB على نظام Linux:
دعونا نلقي نظرة على كل واحد منهم على حدة ونتعلم كيفية العمل مع أجهزة USB الصعبة في Linux. 1. هل اكتشف نظام التشغيل Linux جهازك؟أول شيء يجب التحقق منه عند إدخال جهاز USB في جهاز الكمبيوتر الذي يعمل بنظام التشغيل Linux هو ما إذا كان قد تم اكتشافه أم لا. عادةً ما يكون اكتشاف جهاز USB غير لفظي أو مسموع (في Linux Deepin ليس كذلك) كما هو الحال في Windows أو macOS، مما يعني أنه يتعين عليك غالبًا التحقق من أن الجهاز قد تم التقاطه بواسطة نظام التشغيل. لحسن الحظ، الأمر بسيط. أولاً، افصل أجهزة USB التي تطلبها. ثم افتح نافذة طرفية وأدخل الأمر »قائمة USB: سيقوم الأمر dmesg بإدراج أجهزة USB المتصلة على نظامك. وسيتضمن أيضًا أجهزة غير USB وسيوفر للأسف كمية هائلة من المعلومات. ولمواجهة ذلك يمكنك تجربة: يبدو هذا وكأنه تقاطع بين الأمرين dmesg وlsusb، حيث يدرج أجهزة USB المتصلة مع معلومات كافية للتعرف عليها. إذًا، هل USB الذي قمت بتوصيله مدرج هنا؟ إذا لم يكن الأمر كذلك، فقد يكون المنفذ تالفًا أو أن هناك مشكلة في الجهاز. وبالمثل، قد لا يكون الجهاز متوافقًا مع نظام التشغيل Linux. 2. كيفية التحقق من منفذ USBإذا لم يتم عرض جهاز USB، فقد يكون ذلك بسبب مشكلة في منفذ USB. أفضل طريقة لاختبار ذلك هي ببساطة استخدام منفذ USB مختلف على جهاز الكمبيوتر الخاص بك. إذا تم الآن اكتشاف جهاز USB، فأنت تعلم أن لديك مشكلة في أحد منافذ USB. إذا لم يتوفر منفذ USB آخر، فستحتاج إلى تجربة جهاز USB على كمبيوتر شخصي أو كمبيوتر محمول آخر. ومع ذلك، قد لا يكون هذا مثاليًا حيث يمكنك بدلاً من ذلك استخدام جهاز كمبيوتر يعمل بنظام التشغيل Windows أو macOS وفي هذه الحالة، لا يمكن استخدام بعض أجهزة USB على Linux. لذلك سيكون من الصعب تحديد سبب المشكلة بالضبط، سواء كان جهاز USB أو منفذ USB. للحصول على أفضل النتائج، التزم بالأجهزة المتوافقة مع Linux كلما أمكن ذلك عند استكشاف أخطاء أجهزة USB وإصلاحها. 3. إصلاح أجهزة USB التالفةإذا كان جهاز USB الخاص بك معيبًا، فلديك خياران: إصلاحه أو إعادته. يتضمن الإصلاح عادةً التحقق منفذ USBوكذلك الأجهزة التي لا تعمل حاليًا. سوف تتمحور التصحيحات دائمًا تقريبًا كابل USBوالمنفذ على جهاز الكمبيوتر الخاص بك. يمكن عادةً استبدال كبلات USB، ولكن يمكن إصلاح منافذ USB. الاختيار البدني معدات يو اس بي- فكره جيده. يجب أن تكون الكابلات قوية، دون أي فواصل، ويجب تثبيت الجزء المعدني بشكل آمن. وفي الوقت نفسه، يجب اختبار منافذ USB مع إيقاف تشغيل الكمبيوتر وفصله. تأكد من أن المنافذ آمنة ومتذبذبة منافذ يو اس بيهي علامة على تآكل المعدات. إذا أصبح منفذ USB مفكوكًا، فيمكنك لحامه مرة أخرى في مكانه. بالطبع، يجب أن تعرف بالفعل كيفية اللحام، ولا تحاول أبدًا القيام بعمل DIY دون خبرة سابقة. تحقق أيضًا من عدم وجود أي غبار أو أوساخ في منافذ USB، خاصة في الجزء الخلفي من الكمبيوتر، حيث يتجمع الغبار بانتظام. الغبار هو عدو جهاز الكمبيوتر، لذا من المفيد إبقاء نظامك في بيئة خالية من الغبار. يمكن أن يجد الغبار طريقه إلى جهاز الكمبيوتر الخاص بك من خلال منافذ USB، خذ الوقت الكافي للحفاظ على نظافة هذه المنافذ. استخدم الهواء المضغوط لتفريق الغبار والأوساخ. هل يمكنك إرجاع جهاز USB الخاص بك؟ إذا كان جديدا، فمن المرجح. تكمن المشكلة في أنه ما لم يتم وضع علامة واضحة على أنه يعمل بنظام التشغيل Linux، فمن غير المرجح أن يقبل المتجر المرتجعات. 4. أعد تشغيل Linux لإصلاح منفذ USBفي بعض الحالات، على سبيل المثال، إذا كنت تستخدم جهاز كمبيوتر محمولاً، يمكن أن تؤثر مشكلات الطاقة على قدرته على اكتشاف أجهزة USB. يهدف خيار التعليق التلقائي إلى تقليل استهلاك الطاقة على أجهزة الكمبيوتر المحمولة التي تعمل بنظام التشغيل Linux، ولكنه قد يؤدي إلى نتائج عكسية. ذلك ما يمكن أن تفعله؟ تحقق أولاً مما إذا كان التعليق التلقائي هو سبب المشكلة. يمكنك القيام بذلك عن طريق إعادة تشغيل جهاز الكمبيوتر الخاص بك. إذا كان جهاز USB قيد التشغيل، فإن منفذ USB هذا يتلقى الطاقة. والخطوة التالية هي التأكد من عدم حدوث ذلك مرة أخرى. الحيل القادمة سطر الأوامرمخصصة لنظام التشغيل Ubuntu 18.10، لذا تحقق من الإجراء الصحيح على توزيعة Linux المفضلة لديك. افتح نافذة طرفية واكتب: cat /sys/module/usbcore/parameters/autosuspend انظر هنا: GRUB_CMDLINE_LINUX_DEFAULT = "بداية هادئة"
لقد تم تضمين دعم USB في النواة منذ الإصدار 2.2.7 ويمكننا القول أن هذه التقنية قد تم اختبارها بالفعل ويجب ألا تكون هناك مشاكل عند توصيل مثل هذه الأجهزة. كل ما عليك فعله هو توصيل كاميرا أو محرك أقراص فلاش أو طابعة أو أي جهاز آخر، وسيتم التعرف عليه تلقائيًا. يعتمد ما إذا كانت الطابعة ستعمل، على سبيل المثال، على توفر برامج التشغيل. لكي نتمكن من تقييم الموقف، دعونا نلقي نظرة على كيفية تنفيذ دعم USB وأين تبحث عن معلومات حول الأجهزة المتصلة، على الرغم من أن كل ما يقال عنه ينطبق جزئيًا على USB. تنفيذ دعم USB في لينكس لينكس يو اس بيالمشروع (www.linux-usb.org) هو المكان الذي يجب أن تذهب إليه للحصول على المعلومات. في أجهزة الكمبيوتر اليوم، يمكنك العثور على ثلاثة أنواع من وحدات التحكم، تختلف في واجهة التفاعل مع الأجهزة. هذه هي OHCI (واجهة تحكم المضيف المفتوحة) وUHCI (واجهة تحكم المضيف العالمية) وEHCI (واجهة تحكم المضيف المحسنة). يدعم الأولان إصدار USB 1.1، بينما يوفر الإصدار 2.0 الأخير سرعات نقل تصل إلى 480 ميجابت/ثانية. تعتبر وحدات تحكم UHCI أبسط وأرخص إلى حد ما، ولكنها تتطلب برامج تشغيل معقدة وتضع حملاً أكبر على المعالج. لا يزال اكتشاف نوع وحدة التحكم الخاصة بك أمرًا بسيطًا للغاية: $lspci -v 00:02.1 وحدة تحكم USB: وحدة تحكم USB nVidia Corporation MCP55 (rev a2) (prog-if 20) كما ترون، لدي كلا النوعين من وحدات التحكم: OHCI وEHCI. إذا كنت تستخدم نواة ذاتية التجميع، فقم بتمكينها السائق المطلوبفي عنصر "برامج تشغيل وحدة تحكم مضيف USB". لن أثقل كاهلك بجميع الخيارات، فكل المعلمات المتوفرة في النواة يمكن عرضها بكتابة "cat /usr/src/linux/.config | grep -i USB". يجب أن تتذكر أيضًا أن العمل باستخدام USB يتم عن طريق محاكاة SCSI، لذلك تحتاج إلى تنشيط المعلمات المتعلقة بدعم SCSI. لا شيء /proc/bus/usb usbfs noauto 0 0 $ sudo mount -t usbdevfs none /proc/bus/usb بعد هذا الأمر " جبل | grep usbfs"يجب أن يُظهر وجود السطر: procbususb على /proc/bus/usb من النوع usbfs (rw) والخاتمة " com.lsmod» وحدات محملة com.usbcoreوحدة السائق ohci_hcd, ehci_hcd, uhci_hcs، بالإضافة إلى الوحدة النمطية المقابلة لبرنامج تشغيل الجهاز المتصل مثل scan.o، الطابعة.o، usb_storage. $ cat /proc/bus/usb/devices T: الناقل=02 Lev=00 Prnt=00 المنفذ=00 Cnt=00 Dev#= 1 Spd=480 MxCh=10 T: الناقل=01 Lev=00 Prnt=00 المنفذ=00 Cnt=00 Dev#= 1 Spd=12 MxCh=10 T: الناقل=01 Lev=01 Prnt=01 المنفذ=07 Cnt=01 Dev#= 2 Spd=480 MxCh= 0 من السهل فك تشفير المخرجات والبحث عن التفاصيل في الوثائق ( /usr/src//الوثائق/usb/proc_usb_info.txt). اسمحوا لي فقط أن أقول أن الرسالة تيشير إلى طوبولوجيا، حافلةو مستوىإظهار الناقل الذي يتصل به الجهاز والمستوى، ويظهر Spd السرعة، مكستش- كم عدد الأجهزة الأخرى التي يمكن توصيلها به، سائق- سائق. على سبيل المثال، يوضح Driver=hub أن هذا هو محور، وأن Driver=usb-storage هو جهاز USB لتخزين المعلومات. هذا كل ما أردت قوله بشكل أساسي حول توصيل الأجهزة الساخنة بجهاز كمبيوتر يعمل بنظام Linux، وآمل ألا تواجه مشكلات في هذا الأمر اعتبارًا من اليوم. |
يقرأ: |
---|
شائع:
جديد
- إدخال إطار. إنشاء الإطارات. توفير بديل noframes
- استعادة نظام Windows إعداد الاسترداد التلقائي الذي لا ينتهي
- إصلاح محرك أقراص فلاش باستخدام البرامج كيفية إصلاح منفذ USB على جهاز كمبيوتر محمول
- بنية القرص تالفة، القراءة غير ممكنة، ماذا علي أن أفعل؟
- ما هي الذاكرة المؤقتة للقرص الصلب ولماذا هي مطلوبة وما هو حجم ذاكرة التخزين المؤقت المسؤول عن ذلك؟
- مما يتكون الكمبيوتر؟
- هيكل وحدة النظام - ما هي المكونات المسؤولة عن تشغيل الكمبيوتر ميزات الأجهزة الداخلية لوحدة النظام
- كيفية تغيير القرص الصلب إلى SSD
- تشمل أجهزة الإدخال
- لغة البرمجة المكتوبة ماذا تفعل مع كل هذه الأنواع المتغيرة