الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماهي المعلومات التي ممكن اعرفها من Siffing

بدأه شاب-حباب في 21 ديسمبر 2008 · 6 رد · 2,338 مشاهدة · في برمجة الشبكات والتطبيقات الموزعة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه

اخوان ممكن اعرف ماهي المعلومات اللي ممكن اعرفها من خلال عمل سنفنك للباكيتس النيتورك لاير ,,

هل يمكنني معرفة باكتتات smtp ??? هل يمكنني معرفة ال الايميل المرسل والمستلم من خلال النيتورك لير ؟؟؟؟

ام الامر مقتصر في هذه اللاير على الاي بي مرسل والمستقبل والبورت المستخدم او البروتوكول ,,,

,,,

بصيغة اخرى ,,

هل من الممكن معرفة الايميل المستخدمة خلال smtp session من خلال سنفنك للباكتس ؟؟

تحياتي

m16.jpg

سأحمل روحي على راحتي والقي بها في مهاوي الردا

فأما حياة تسر الصديق و اما ممات يغيض العدا

#2

وعليكــم السـلام ورحمة الله وبركاتـه..

الـSMTP هو Text Commands Protocol ويتم ارسال هذه الـCommands من خلال الإتصال بالـSocket مع الـSMTP Service وفق مبدأ Request/Response وأهمها:

MAIL - المرسل

RCPT - المرسل اليه

DATA - الرسالة

وترجع هذه الـCommands القيمة 250 إذا كانت حالة الإرسال صحيحة وتمت بنجاح.

وتستطيع الحصول على هذه المعلومات من خلال الـApplication Layer فقط إذ انها كما ذكرت سابقا Text Commands فإذا كنت تستخدم أي برنامج تحليل لبيانات الـPackets مثل برنامج Ethereal ولم يكن هنالك أي نوع من انواع التشفير (كستخدام الـSMTP من خلال الـSSL مثلا) فيمكنك قرائتها بكل وضوح.

#3

بالبداية اكولك حياك الله اخوية فادي وللعلم انا من متابعين مواضيعك من زماااااااااان ,,

والله يااخوية فادي الموضوع هوة انا المعلومات المفروض ابني عليها برنامج فقط من النيتورك لير مو اكثر ,,

ومو عارف بهاللير هاذي شنو المعلومات اللي ممكن استفاد منها ,,

يعني مثلا اكدر اعرف طبيعي المرسل والسيرفر بال smtp وطبعا اعرفها smtp لأن البورت 25

بس اكدر اعرف شنو MAIL FROM والRCPT TO !!!

هالشي كثير دوخني

تحياتي

m16.jpg

سأحمل روحي على راحتي والقي بها في مهاوي الردا

فأما حياة تسر الصديق و اما ممات يغيض العدا

#4

اهلا بك اخي العزيز

بما انك تستطيع الحصول على الـIP Packet فبإمكانك تحليل أي Layer سواء فوق الـIP Layer أو تحته وذلك بمعرفة الحجم الكلي لكل Layer من خلال قرائة Total Length

وكمثال إذا كانت قيمة الـTL للـIP Packet تساوي 24 Bytes فهذا يعني أن الـTransport Layer تبدأ من الـBit الأول للـByte رقم 25 ومن خلال معرفة نوع البروتوكول المستخدم في الـTransport Layer يمكن معرفة حجم الـTL الخاص بها ومعرفة موقع بدأ الـApplication Layer وبالتالي الحصول على البيانات التي تريدها سواء بيانات اتصالك بالـSMTP Service أو أي بروتوكول اخر...

على أي حال في كل طبقة تستطيع الحصول على المعلومات الخاصة بتلك الطبقة فقط وكما هو واضح في الشكل التالي:

في الـNetwork Layer :

iphdr.gif

في الـTransport Layer:

للـTCP:

tcp_packet.gif

للـUDP:

udp_datagram.gif

كمثال عملي ومفتوح المصدر أنظر الرابط http://www.codeproject.com/KB/cs/pacanal.aspx

بالتوفيق

#5

بالبداية احب اشكرك ,, اسف على التأخير بالرد بس ماحبيت ارد بالبداية الا لما افهم اكثر عن الموضوع ,,

ip header ممكن من خلالة اعرف ال بروتوكول المستخدم في ال transport layer عن طريق قرائة البايت الخاص بالاي بي هيدر اذا يساوي 06 يعني tcp

ومثل ما تفضلت انو بما انو نعرف حجم total length الخاص بال ip header فهالشي يخلينة نعرف وين تخلص ووين تبدي ال tcp header

وطبعا من خلال ال tcp header نكدر نعرف مكان البورت وبما ان البورت 25 فهذا يعني انو الاتصار يصير وية smtp service ,,

لحد الان كل شئ اوكي ,,

ومن ال total length تبع ال tcp نكدر نعرف بنفس الكيفية وين يخلص ووين يبدي ,,

هسة كل البايتات بعد tcp header تابعة لل smtp ?? يعني هل هي تكون plain text عادي بمجرد بس نسويلة انكودنك من هيكس الى اسكي ؟؟

سؤال ثاني ,, ولو تعبتك كثير ,,

برأيك اي مكتبة تساعدني بهالشي ,, التعامل مع البايتات او يعطي يساعد مثل jpcap

للعلم انا استخدم java ,,, بس مادري يمكن في مكتبة تساعد اكثر بهالعملية ,,,,

تحياتي الك والالف شكرا يا غالي ,,,,,,,,,,

تم تعديل هذه المشاركة بواسطة شاب-حباب في 14 يناير 2009 في 09:34

m16.jpg

سأحمل روحي على راحتي والقي بها في مهاوي الردا

فأما حياة تسر الصديق و اما ممات يغيض العدا

#6
اقتباس
يعني هل هي تكون plain text عادي بمجرد بس نسويلة انكودنك من هيكس الى اسكي ؟؟

تكون plain إذا لم يتم استخدامه من خلال SSL وفي حالة عدم استخدامه يمكنك أن تحصل عليه كهيكس

اقتباس
برأيك اي مكتبة تساعدني بهالشي ,, التعامل مع البايتات او يعطي يساعد مثل jpcap

للعلم انا استخدم Java ,,, بس مادري يمكن في مكتبة تساعد اكثر بهالعملية ,,,,

يوجد عدة مكتبات تسهل عليك برمجة الـRaw Socket وجميعها يؤدي الغرض , المهم انك تستطيع جلب تلك البيانات بدون استخدام اي مكتبة وذلك من خلال تعلم البرمجة على مستوى الـRaw Socket ويوجد درس حول هذا الموضوع في سلسلة دروس تعلم برمجة الشبكات

واهلا بك

#7

اشكرك اخوية فادي ,, وفعلا كدرت احصل على المطلوب ,, بس بأستخدام مكتبة ال jpcap ,, للسرعة نظرا لضيق الوقت ,,

اشكرك مرة ثانية ,, مبدع اخ فادي ,, جزاك الله كل خير ,,

تحياتي الك

تم تعديل هذه المشاركة بواسطة شاب-حباب في 18 يناير 2009 في 10:03

m16.jpg

سأحمل روحي على راحتي والقي بها في مهاوي الردا

فأما حياة تسر الصديق و اما ممات يغيض العدا

مواضيع مشابهة