דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. בעיה בבניית CNC בפייתון

בעיה בבניית CNC בפייתון

מתוזמן נעוץ נעול הועבר תכנות
24 פוסטים 6 כותבים 581 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • AndroidA מנותק
    AndroidA מנותק
    Android
    השיב לחגי ב נערך לאחרונה על ידי
    #7

    @חגי כתב בבעיה בבניית CNC בפייתון:

    @Android
    רק אציין שראיתי את הפוסט ולא הבנתי מה השאלה, אז המשכתי הלאה.
    רק כתבת שלא הצלחת ולא הבנתי מה ניסית לעשות ומה לא עבד, ולא היה לי כוח לעבור על כל הקוד שלך בשביל לנסות להבין במה אני אמור להתמקד, כי אני אפילו לא יודע מה הקוד אמור לעשות.

    וגם לכתוב שהבעיה בCLI זה לא מבודד כלום. זה רק אומר שהקוד שלך עובד ויש סיבה אחרת שזה לא עושה מה שאתה רוצה, לא?

    מה שאני מנסה לעשות זה נוזקה שמתחברת אליי מהמחשב הנתקף (reverse shell) ואני יכול להריץ פקודות מהמחשב שלי על המחשב הנתקף ולקבל חזרה את הoutput
    זה בעצם הcli רק שאני צריך לבנות גם אפשרות לשליחת קבצים מהנתקף אליי אז פה קצת הסתבכתי, ניסיתי להגדיר שאם אני שולח את המילה file אז הוא יכנס לפונקצייה של העברת קבצים אבל משום מה הקליינט לא מגיב כשאני שולח את המילה הזו. זו בעצם הבעיה הראשונה
    בעיה נוספת היא שאני לא מצליח להריץ פקודות כמו ipconfig, dir, date אבל cd ו whoami אני כן מצליח

    מקווה שעכשיו זה יותר ברור אבל אם לא אני אנסה להסביר יותר

    תגובה 1 תגובה אחרונה
    0
    • חגיח מנותק
      חגיח מנותק
      חגי
      כתב ב נערך לאחרונה על ידי
      #8

      אני עדיין לא יודע מה אתה מצפה שהקוד יעשה, כי הבאת את כולו.
      בכל מקרה הדבר הראשון שקופץ לי זה שאתה מיד מתחיל עם socket.recv גם בקליינט וגם בשרת מיד לאחר יצירת החיבור, זה אומר שהתוכנה תהיה תקועה עד שמישהו ישלח משהו, זה deadlock.
      א'. תלמד על הספריה select שנועדה עבור דברים כאלה.
      ב'. אל תקרא לrecv סתם, תשתמש בזה כשאתה באמת מצפה לקבל משהו מהצד השני.

      AndroidA תגובה 1 תגובה אחרונה
      1
      • AndroidA מנותק
        AndroidA מנותק
        Android
        השיב לחגי ב נערך לאחרונה על ידי
        #9

        @חגי כתב בבעיה בבניית CNC בפייתון:

        ב'. אל תקרא לrecv סתם, תשתמש בזה כשאתה באמת מצפה לקבל משהו מהצד השני.

        הסרבר מתחיל בsend והקליינט בrecv
        הrecv בסרבר שבא אחרי הif נועד כדי לוודא שגם הקליינט נכנס לפונקצייה

        @Android כתב בבעיה בבניית CNC בפייתון:

        if command == "file":
        output = client_socket.recv(2048).decode()
        file()

        חגיח תגובה 1 תגובה אחרונה
        0
        • חגיח מנותק
          חגיח מנותק
          חגי
          השיב לAndroid ב נערך לאחרונה על ידי
          #10

          @Android
          צודק 😮

          AndroidA תגובה 1 תגובה אחרונה
          0
          • AndroidA מנותק
            AndroidA מנותק
            Android
            השיב לחגי ב נערך לאחרונה על ידי Android
            #11

            @חגי אתה טוען שהdef מיותר? אני אמחק?
            (מהפורום כמובן)

            חגיח תגובה 1 תגובה אחרונה
            0
            • חגיח מנותק
              חגיח מנותק
              חגי
              השיב לAndroid ב נערך לאחרונה על ידי
              #12

              @Android אני לא טוען שמשהו מיותר, פשוט שהעלת הרבה קוד, ולי באופן אישי אין את הסבלנות לנסות לבודד מאיפה נובע הבאג.

              אם אתה היית מצליח לבודד שורה שורה (היינו לדבג) ולמצוא איפה זה נכשל, ואז היית מכוון בדיוק לשורה ששם זה נכשל, אז יכול להיות שהיה יותר קל לענות לך.

              AndroidA תגובה 1 תגובה אחרונה
              2
              • AndroidA מנותק
                AndroidA מנותק
                Android
                השיב לחגי ב נערך לאחרונה על ידי
                #13

                @חגי כתב בבעיה בבניית CNC בפייתון:

                היינו לדבג

                אני עוד לא יודע לדבג וגם הקטע שהקוד לא מוציא שגיאה אלא הקליינט פשוט נתקע

                חגיח תגובה 1 תגובה אחרונה
                0
                • חגיח מנותק
                  חגיח מנותק
                  חגי
                  השיב לAndroid ב נערך לאחרונה על ידי
                  #14

                  @Android
                  זה נשמע כמו deadlock, לדבג זה מאוד פשוט, אתה דוחף print דיסקרפטיבי בכל מקום עד שאתה מוצא באיזו שורה זה נתקע.
                  למי שיש יותר כח רצון, אפשר להשתמש בpdb

                  import pdb;pdb.set_trace();
                  

                  מי שממש רוצה ללכת על כל הקופה וזורם לו אדרנלין בדם, והחיים עוד לפניו, יכול להשתמש בכלי הדיבוג של vscode לפייתון, או בpycharm. אבל זה רק אם אתה ממש מוכן לזה.

                  dovidD תגובה 1 תגובה אחרונה
                  2
                  • dovidD מנותק
                    dovidD מנותק
                    dovid ניהול
                    השיב לחגי ב נערך לאחרונה על ידי
                    #15

                    @חגי כתב בבעיה בבניית CNC בפייתון:

                    מי שממש רוצה ללכת על כל הקופה וזורם לו אדרנלין בדם, והחיים עוד לפניו,

                    חחח...
                    כל כך קשה לדבאג בpycharm?
                    יש מוניטין מאוד טוב לחברה הזאת.

                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                    חגיח תגובה 1 תגובה אחרונה
                    0
                    • חגיח מנותק
                      חגיח מנותק
                      חגי
                      השיב לdovid ב נערך לאחרונה על ידי חגי
                      #16

                      @dovid
                      חחח זאת היתה בדיחה בגלל שהוא כתב שהוא עדיין לא יודע לדבג, זה בעיקרון הפיתרון הכי מתבקש,
                      האפשרות הכי קלה היא באמצעות print, האפשרות הכי קשה (אבל הופכת אותך להיות מאוד גזעי, בעיקר כשאתה לומד סייבר) זה להשתמש בpdb.
                      האפשרות הנורמלית באמת זה להשתמש בכלי דיבוג של IDE כלשהו כמו pycharm.

                      AndroidA תגובה 1 תגובה אחרונה
                      3
                      • AndroidA מנותק
                        AndroidA מנותק
                        Android
                        השיב לחגי ב נערך לאחרונה על ידי Android
                        #17

                        @חגי כתב בבעיה בבניית CNC בפייתון:

                        האפשרות הנורמלית באמת זה להשתמש בכלי דיבוג של IDE כלשהו כמו pycharm.

                        אני משתמש בpycharm אבל לא ממש יודע לדבג (לשים פרינטים זה לא תמיד עוזר)
                        אשמח להסבר או להפנייה להסבר. תודה

                        dovidD תגובה 1 תגובה אחרונה
                        0
                        • dovidD מנותק
                          dovidD מנותק
                          dovid ניהול
                          השיב לAndroid ב נערך לאחרונה על ידי
                          #18

                          @Android אני בחיים (נראה לי) לא כתבתי בפייתון,
                          אבל זה לא אמור להיות מסובך וזה יכול מאוד לקדם אותך גם אם אתה לא חושב להיות מתכנת אלא איש סייבר.
                          מחיפוש גוגל נראה שיש מקורות טובים, תשתדל לבדוק:

                          אם אתה מעדיף טקסטואלי
                          https://www.jetbrains.com/help/pycharm/debugging-your-first-python-application.html

                          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                          בכל נושא אפשר ליצור קשר dovid@tchumim.com

                          AndroidA תגובה 1 תגובה אחרונה
                          4
                          • AndroidA מנותק
                            AndroidA מנותק
                            Android
                            השיב לdovid ב נערך לאחרונה על ידי
                            #19
                            פוסט זה נמחק!
                            תגובה 1 תגובה אחרונה
                            0
                            • מ מנותק
                              מ מנותק
                              מתכנת לפעמים
                              השיב לAndroid ב נערך לאחרונה על ידי
                              #20

                              @Android עצה ממני - תלמד על pickle פשוט יקל עליך פי מאה בערך. זו ספריה שמאפשרת לשלוח אובייקטים של פייתון (היא עושה להם סארליזציה או איך שקוראים לזה בעצמה...) בקיצור תלמד והכל יהיה יותר פשוט.

                              תגובה 1 תגובה אחרונה
                              0
                              • AndroidA מנותק
                                AndroidA מנותק
                                Android
                                כתב ב נערך לאחרונה על ידי
                                #21

                                למעשה הצלחתי לפתור את הבעיה, הייתה איזו שורה לא במקום...
                                אבל אני עדיין לא מצליח להריץ את הפקודות הנ"ל

                                @Android כתב בבעיה בבניית CNC בפייתון:

                                בעיה נוספת היא שאני לא מצליח להריץ פקודות כמו ipconfig, dir, date אבל cd ו whoami אני כן מצליח

                                חגיח תגובה 1 תגובה אחרונה
                                0
                                • חגיח מנותק
                                  חגיח מנותק
                                  חגי
                                  השיב לAndroid ב נערך לאחרונה על ידי
                                  #22

                                  @Android
                                  אז אולי תנסה בכל זאת כן לבודד את הבעיה? כל הדיון פה זה רק על זה שהשאלה לא מספיק טובה בשביל שאנשים יטרחו לנסות לענות עליה, זה יותר כמו לנסות לפתור לך את השיעורי בית במקומך.

                                  וניסית ללמוד על pickle?

                                  AndroidA תגובה 1 תגובה אחרונה
                                  0
                                  • AndroidA מנותק
                                    AndroidA מנותק
                                    Android
                                    השיב לחגי ב נערך לאחרונה על ידי
                                    #23

                                    @חגי זה נופל בשורה הזו

                                    output = os.popen(command).read()
                                    

                                    עדיף להשתמש בsubprocess?

                                    חגיח תגובה 1 תגובה אחרונה
                                    0
                                    • חגיח מנותק
                                      חגיח מנותק
                                      חגי
                                      השיב לAndroid ב נערך לאחרונה על ידי
                                      #24

                                      @Android
                                      ומה התוכן של command כאשר זה נכשל?

                                      תגובה 1 תגובה אחרונה
                                      1

                                      • 1
                                      • 2
                                      בא תתחבר לדף היומי!
                                      • התחברות

                                      • אין לך חשבון עדיין? הרשמה

                                      • התחברו או הירשמו כדי לחפש.
                                      • פוסט ראשון
                                        פוסט אחרון
                                      0
                                      • דף הבית
                                      • קטגוריות
                                      • פוסטים אחרונים
                                      • משתמשים
                                      • חיפוש
                                      • חוקי הפורום