Port Scanner

dedtheded

New member
Port Scanner

אני מנסה לכתוב PortScanner באסמבלר בפרוטוקול TCP\IP. רציתי לשאול כיצד יודעים אם פורט הוא "פתוח" או "סגור". בר.
 

dedtheded

New member
למה באסמבלי...

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

voguemaster

New member
השיטה הכי פשוטה

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

dedtheded

New member
כן

תקרא את הספר Art of Assmbly , ספר מצויין. יש מדריך טוב לSockets של IceZelion באתר של RadAsm.
 

DadleFish

New member
השאלה שלי לא הייתה ברורה מספיק.

איך עושים את זה באסמבלי בלי לקרוא לפונקציות של WINDOWS?
 

the new L

New member
סתם תהייה

זה לא קצת טיפשי לעשות תוכנית כזאת באסמבלי? היא הרי במילא תלוית מערכת הפעלה, וכמעט כולה הוא קריאות לפונקציות של מערכת ההפעלה. למעשה נראה לי שאני יכול לכתוב תוכנית ב C שקומפיילר טוב יתרגם אותה לתוכנית זהה ב99% לתוכנית שתכתוב באסמבלר, פשוט כי אתה גם ככה חייב להשתמש בSYSTEM CALLS של SOCKETS (אלא אם כן אתה רוצה לממש את הפרוטוקול TCP/IP בעצמך....)
 

the new L

New member
במחשבה שנייה

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

DadleFish

New member
לא, סביר להניח שהקומפיילר שלך

יפיק תוכנית עדיפה על זו שתיכתב ידנית.
 

the new L

New member
לא עדיפה

אבל מאוד קרובה במיוחד בהינתן שרוב מוחלט של התוכנית הם SYSTEM CALLS
 

DadleFish

New member
מה גורם לך לחשוב

שמישהו בכיתה י' יכתוב תוכנית אסמבלי עדיפה במשהו על קומפיילר של אינטל? אני לא אומר זאת מתוך זלזול בכותב. פשוט מאוד - בשביל להיות עדיף על קומפיילר כזה, אתה צריך להכיר אסמבלי בצורה מושלמת, לדעת להתחשב בכל האופטימיזציות האפשריות של המעבד (ומי מכיר את המעבד יותר מאינטל עצמם?), וכן הלאה. אז בתוכנית של 50 שורות זה לא רלוונטי, אבל הגישה שהאדם עדיף על הקומפיילר הולכת ונעלמת. אמנם היא לעולם לא תתפוגג לגמרי, עקב היות האדם עדיף על המכונה בכל זאת, אבל בשביל להפגין עדיפות כזו צריך ללמוד שנים על גבי שנים את כל הדברים הקטנים שיש ללמוד.
 

DadleFish

New member
פעם זה היה יותר פשוט.

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

אמיר ט

New member
תוספת קטנה

סורק פורטים אמיתי שולח FIN_CLOSE על כל הפורטים של מחשב היעד וככה אם אתה שולח FIN_CLOSE לפורט סגור אתה מקבל פאקטה דיי יחודית שלפיה אתה יכול לדעת אם הוא סגור או לא. בכל מקרה דברים כאלה נעשים ע"י מניפולציה בדגלים של פאקטות TCP/IP דברים שרובן המוחלט כמעט של SYSTEM CALLS לא מאפשרים לך.
 
למעלה