ABA


"שלום :) יש לי שאלה קטנה ב-VISUAL BASIC 2010 לגבי שינוי IP (למי שמבין בבקשה)"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #21011 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 21011
crazykid
חבר מתאריך 28.8.03
4894 הודעות
   11:56   03.12.14   
אל הפורום  
  שלום :) יש לי שאלה קטנה ב-VISUAL BASIC 2010 לגבי שינוי IP (למי שמבין בבקשה)  
 
   מה קורה?
לא הייתי פה הרבה זמן... חידשו הרבה
מקווה שאני לא עובר על החוקים.. ואם כן בבקשה תסלחו לי אני פה פעם ב...

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

אבל אני חייב להריץ אותה כמה פעמים כדי לבדוק באגים (שכל פעם יתרכז במשהו אחר)

התקנתי VIRTUAL BOX והתקנתי עליה 2 ווינדוסים, הבעיה היחידה זה שהאיפי שלי נשאר אותו דבר גם בשתי הווינדוסים אז זה לא יכול לפתוח את התוכנה בשתי המחשבים.

אני מנסה לבנות משהו שישנה IP כל פעם שפותחים את התוכנה ואז לשלב אותו עם התוכנה שלי


Imports System.Management
Imports System.Net
Imports System.Net.NetworkInformation
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim IPAddress As String = (TextBox1.Text)
Dim SubnetMask As String = (TextBox2.Text)
Dim Gateway As String = (TextBox3.Text)

Dim objMC As ManagementClass = New ManagementClass("Win32_NetworkAdapterConfiguration")
Dim objMOC As ManagementObjectCollection = objMC.GetInstances()

For Each objMO As ManagementObject In objMOC
If (Not CBool(objMO("IPEnabled"))) Then
Continue For
End If

Try
Dim objNewIP As ManagementBaseObject = Nothing
Dim objSetIP As ManagementBaseObject = Nothing
Dim objNewGate As ManagementBaseObject = Nothing

objNewIP = objMO.GetMethodParameters("EnableStatic")
objNewGate = objMO.GetMethodParameters("SetGateways")

'Set DefaultGateway
objNewGate("DefaultIPGateway") = New String() {Gateway}
objNewGate("GatewayCostMetric") = New Integer() {1}

'Set IPAddress and Subnet Mask
objNewIP("IPAddress") = New String() {IPAddress}
objNewIP("SubnetMask") = New String() {SubnetMask}

objSetIP = objMO.InvokeMethod("EnableStatic", objNewIP, Nothing)
objSetIP = objMO.InvokeMethod("SetGateways", objNewGate, Nothing)

Console.WriteLine("Updated IPAddress, SubnetMask and Default Gateway!")

Catch ex As Exception
MessageBox.Show("Unable to Set IP : " & ex.Message)
End Try
Next objMO
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
getip()
Catch ex As Exception
ex.ToString()
End Try

Dim PrimaryNic As New Collection
Dim PNic As String = ""
For Each networkCard As NetworkInterface In NetworkInterface.GetAllNetworkInterfaces
For Each gatewayAddr As GatewayIPAddressInformation In networkCard.GetIPProperties.GatewayAddresses
If gatewayAddr.Address.ToString <> "0.0.0.0" And networkCard.OperationalStatus.ToString() = "Up" Then
Dim IpAddress As UnicastIPAddressInformation

For Each IpAddress In networkCard.GetIPProperties.UnicastAddresses
TextBox2.Text = (IpAddress.IPv4Mask.ToString)
Next
' Get IP gateway information
TextBox3.Text = (gatewayAddr.Address.ToString)
End If
Next
Next

End Sub

Private Sub getip()
Dim hostname As String = Dns.GetHostName
Dim ip As String = System.Net.Dns.GetHostByName(hostname).AddressList(0).ToString

TextBox1.Text = ip
End Sub
End Class

אני יודע שכדי לשנות IP צריך את ה-STATIC IP, SUBNET MASK ו-GATEWAY
עשיתי 3 טקסטבוקסים שלוקחים את המידע של השלושה ומכניסים לטקסטבוקסים אוטומטית, ככה שהתוכנה תוכל לעבוד על כל מחשב, גם במידה ואחד מהפרמטרים שונים מהרגיל.

אבל... זה לא עובד... לא קורה כלום שאני לוחץ על הכפתור...

ניסיתי גם ליצור קובץ BATCH ולהריץ אותו (הייתי משלב אותו עם התוכנה) אבל זה לא אבל ובנוסף גם דפק לי את האינטרנט (בVIRTUAL BOX ככה שזה סבבה חח)

אם יש למישהו משהו שעובד אני אשמח לדעת כי אני אובד עצות
חרשתי את כל גוגל ולא הצלחתי

טנקס



                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  לא יודע אם הבנתי נכון, כדי שהתונה תעבוד היא צריכה שהIP של המחשב יהיה שונה? Mirage  03.12.14 12:18 1
  ניסיון מכיוון אחר: אתה חייב להגביל פתיחה שלה לפי ip? משה הלולן 03.12.14 12:34 2
     +1 meni181818 03.12.14 15:14 3
  פתרון אפשרי נוסף משה הלולן 03.12.14 16:27 4
  תשובות :) crazykid 04.12.14 07:15 5
     מכתב Mirage  04.12.14 08:44 6
         מכתב crazykid 04.12.14 11:19 7
     רשמתי לך פתרון אחר שהוא התשובה בשבילך.. משה הלולן 04.12.14 11:27 8
         אני לא בבית, אני אנסה את זה מחר. מקווה שזה יעבוד אני כבר משתגע crazykid 05.12.14 06:29 9

       
Mirage 
חבר מתאריך 18.12.11
5193 הודעות
   12:18   03.12.14   
אל הפורום  
  1. לא יודע אם הבנתי נכון, כדי שהתונה תעבוד היא צריכה שהIP של המחשב יהיה שונה?  
בתגובה להודעה מספר 0
 
   למה פשוט שלא תשנה את ההגדרות רשת של המכונה עצמה?
כדי שכל מכונה תקבל IP שונה בסיגמנט ולא את אותו אחד של הHOST.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
משה הלולן לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 11.6.13
4818 הודעות, 8 פידבק
   12:34   03.12.14   
אל הפורום  
  2. ניסיון מכיוון אחר: אתה חייב להגביל פתיחה שלה לפי ip?  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
meni181818 לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 12.12.13
1032 הודעות, 1 פידבק
   15:14   03.12.14   
אל הפורום  
  3. +1  
בתגובה להודעה מספר 2
 
   נראה לי שהפתרון לחסום לפי IP לא טוב לבעיית שמירת טקסטים.

http://s28.postimg.org/izm7890yz/image.gif


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
משה הלולן לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 11.6.13
4818 הודעות, 8 פידבק
   16:27   03.12.14   
אל הפורום  
  4. פתרון אפשרי נוסף  
בתגובה להודעה מספר 0
 
   תבנה לך פונקציה שמחזירה את הip של המשתמש.
בבדיקות שלך פשוט תחזיר ממנה איזה ip שאתה רוצה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
crazykid
חבר מתאריך 28.8.03
4894 הודעות
   07:15   04.12.14   
אל הפורום  
  5. תשובות :)  
בתגובה להודעה מספר 0
 
   Mirage
אתה יכול לפרט בבקשה?

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

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

הבדיקה האחרונה שנותרה לי זה מה קורה במידה ואני מתקין VIRTUAL BOX ומריץ 2 מחשבים על שם מחשב אחד אבל IP שונה, אם זה עדין ירוץ או ינעל ...



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Mirage 
חבר מתאריך 18.12.11
5193 הודעות
   08:44   04.12.14   
אל הפורום  
  6. מכתב  
בתגובה להודעה מספר 5
 
   כרגע המצב הוא שהמכונות הוירטואליות הם עם אותו IP של המחשב?
איך המכונה מוגדרת מבחינת רשת?
תיכנס להגדרות רשת של המכונה בVIRTUALBOX ותגיד לי בבקשה מה מוגדר בשדה "attached to"

תגדיר את המכונה על מצב HOST ONLY, או INTERNAL NETWORK, כדי שלא תהיה עם אותו IP של הHOST, ותראה אם אתה מקבל IP שונה.

דרך אגב IP מן הסתם הוא לא Unique, אם הבנתי נכון, כל אחד שירצה להשתמש בתוכנה, פשוט יוכל לשנות לIP שיש לו הרשאה וזה יעבוד.

נראה לי עדיף לבצע את זה על MAC ADDRESS, שגם את זה אפשר לזייף אבל אתה מוריד את הסיכויים.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
crazykid
חבר מתאריך 28.8.03
4894 הודעות
   11:19   04.12.14   
אל הפורום  
  7. מכתב  
בתגובה להודעה מספר 6
 
   תודה על התגובה

ניסיתי לעשות את זה ידני זה לא הצליח, האינטרנט פשוט לא עבד עד שביטלתי את זה דרך ההגדרות של ה-LOCAL AREA CONNECTION

מה שמוזר זה, שאצלי במחשב האיפי מתחיל 192.168
ב-VIRTUAL BOX האיפי מתחיל ב-10.0

ניסיתי עדין לכוון את הSTATIC IP ל-10.0 אבל לא עזר

אני מחשב איזה קובץ BATCH קליל שיעשה את העבודה או איזה סקריפט ב-VB גם יעזור

תודה מראש!



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
משה הלולן לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 11.6.13
4818 הודעות, 8 פידבק
   11:27   04.12.14   
אל הפורום  
  8. רשמתי לך פתרון אחר שהוא התשובה בשבילך..  
בתגובה להודעה מספר 5
 
   הפונקציה שמחזירה את הIP של המשתמש בשליטתך לא?(שאלה רטורית)
פשוט תחזיר ממנה מה שאתה רוצה, אין צורך באמת לשנות את הip בבדיקות.

תקרא על unit test mocking


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
crazykid
חבר מתאריך 28.8.03
4894 הודעות
   06:29   05.12.14   
אל הפורום  
  9. אני לא בבית, אני אנסה את זה מחר. מקווה שזה יעבוד אני כבר משתגע  
בתגובה להודעה מספר 8
 
  



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net