PDA

نسخه کامل مشاهده نسخه کامل : تغییر آی پی



fateme_3979
01-04-2010, 13:59
سلام دوستان
کسی میتونه سورسی بنویسه که تعدادی آی پی هم به اون معرفی کنه و هر مثلا 5 دقیقه یک آی پی رو اجرا کنه و وقتی یک سایت رو باز کنم با اون آی پی جدید باز بشه
لطفا یکی منو راهنمایی کنه
ممنون
:31:

AQOUA
01-04-2010, 15:16
براي پيدا كردن IP جاري سيستم:
يك از دو روش زير:

1:


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


2:



'This project requires the following components:
' - a form (Form1) with a textbox (Text1, Multiline=True)
' and a command button (Command1)

' - a module (Module1)

'in Form1:


Private Sub Command1_Click()
Module1.Start

End Sub


'In Module1:


'With this small application , you can detect the IP's installed on your computer,

'including subnet mask , BroadcastAddr..

'

'I've wrote this because i've a programm that uses the winsock control, but,

'if you have multiple ip's installed on your pc , you could get by using the Listen

' method the wrong ip ...

'Because Winsock.Localip => detects the default ip installed on your PC ,
' and in most of the cases it could be the LAN (nic) not the WAN (nic)
'So then you have to use the Bind function ,to bind to your right ip..

'but how do you know & find that ip ?

'you can find it now by this appl.. it check's in the api.. IP Table..

'************************************************* *****************

Const MAX_IP = 5 'To make a buffer... i dont think you have more than 5 ip on your pc..

Type IPINFO

dwAddr As Long ' IP address

dwIndex As Long ' interface index

dwMask As Long ' subnet mask

dwBCastAddr As Long ' broadcast address

dwReasmSize As Long ' assembly size

unused1 As Integer ' not currently used

unused2 As Integer '; not currently used

End Type

Type MIB_IPADDRTABLE
dEntrys As Long 'number of entries in the table

mIPInfo(MAX_IP) As IPINFO 'array of IP address entries

End Type


Type IP_Array

mBuffer As MIB_IPADDRTABLE

BufferLen As Long

End Type

Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)

Public Declare Function GetIpAddrTable Lib "IPHlpApi" (pIPAdrTable As Byte, pdwSize As Long, ByVal Sort As Long) As Long

Sub main()

Form1.Show
End Sub

'converts a Long to a string

Public Function ConvertAddressToString(longAddr As Long) As String

Dim myByte(3) As Byte

Dim Cnt As Long

CopyMemory myByte(0), longAddr, 4

For Cnt = 0 To 3

ConvertAddressToString = ConvertAddressToString + CStr(myByte(Cnt)) + "."

Next Cnt

ConvertAddressToString = Left$(ConvertAddressToString, Len(ConvertAddressToString) - 1)

End Function


Public Sub Start()

Dim Ret As Long, Tel As Long

Dim bBytes() As Byte

Dim Listing As MIB_IPADDRTABLE



Form1.Text1 = ""



On Error GoTo END1

GetIpAddrTable ByVal 0&, Ret, True



If Ret <= 0 Then Exit Sub

ReDim bBytes(0 To Ret - 1) As Byte

'retrieve the data

GetIpAddrTable bBytes(0), Ret, False



'Get the first 4 bytes to get the entry's.. ip installed
CopyMemory Listing.dEntrys, bBytes(0), 4
'MsgBox "IP's found : " & Listing.dEntrys => Founded ip installed on your PC..

Form1.Text1 = Listing.dEntrys & " IP addresses found on your PC !!" & vbCrLf

Form1.Text1 = Form1.Text1 & "----------------------------------------" & vbCrLf

For Tel = 0 To Listing.dEntrys - 1

'Copy whole structure to Listing..

' MsgBox bBytes(tel) & "."

CopyMemory Listing.mIPInfo(Tel), bBytes(4 + (Tel * Len(Listing.mIPInfo(0)))), Len(Listing.mIPInfo(Tel))

Form1.Text1 = Form1.Text1 & "IP address : " & ConvertAddressToString(Listing.mIPInfo(Tel).dwAddr ) & vbCrLf

Form1.Text1 = Form1.Text1 & "IP Subnetmask : " & ConvertAddressToString(Listing.mIPInfo(Tel).dwMask ) & vbCrLf

Form1.Text1 = Form1.Text1 & "BroadCast IP address : " & ConvertAddressToString(Listing.mIPInfo(Tel).dwBCas tAddr) & vbCrLf

Form1.Text1 = Form1.Text1 & "**************************************" & vbCrLf
Next



'MsgBox ConvertAddressToString(Listing.mIPInfo(1).dwAddr)

Exit Sub

END1:

MsgBox "ERROR"

End Sub

AQOUA
01-04-2010, 15:22
اين هم ادامه ي پست قبلي


Option Explicit
'For this you need to make a menu in the menu editor with atleast one

'Sub Menu and call the first mnuFile with index of 0

Private Declare Function LockWindowUpdate Lib "User32" (ByVal hwndLock As Long) As Long

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = vbRightButton Then

LockWindowUpdate Command1.hWnd

Command1.Enabled = False
PopupMenu mnuFile(0)

LockWindowUpdate 0&

Command1.Enabled = True

End If

End Sub

fateme_3979
03-04-2010, 13:32
دوست گلم مرسی از راهنمایی هات
اما من هر کاری کردم این سورس جواب نداد لطفا اگه میشه این سورس رو درون یک پروژه اجرا کن و برای دانلود بزار
بازم تشکر:11:

AQOUA
05-04-2010, 06:41
اين سورس فقط مشخصات IP سيستم رو ميگه نه چيز ديگه.
براي كار نكردنش هم برميگرده به نسخه ي سيستم عاملي كه شما از آن استفاده ميكنيد.
چون توابع API‌ روي هر ورژني فرق ميكنه.
بهتره اين توابع API رو خودتون ازAPI Text Viewer بازخواني كنيد و آنگاه برنامه رو دوباره باز نويسي كنيد.
با تشكر

fateme_3979
05-04-2010, 11:40
آقا دست گلت درد نکنه
مرسی از راهنمایی هات

AQOUA
06-04-2010, 10:22
با سلام
اينم يه برنامه كامل با سورس مرتب شده و اطلاعات متعلق به IP ‌شما.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

با تشكر

_H2_
06-04-2010, 23:28
سلام

کسی میتونه سورسی بنویسه که تعدادی آی پی هم به اون معرفی کنه و هر مثلا 5 دقیقه یک آی پی رو اجرا کنه و وقتی یک سایت رو باز کنم با اون آی پی جدید باز بشه
به نظرم شما سه باری این سوال را پرسیدید!
گمانم اطلاعاتی خوبی از سیستم شبکه ندارید ...

نوشتن یک برنامه Proxy چندان مشکل نیست (شاید چند روزه بتوان نمونه ساده ای نوشت) ولی تغییر IP نیازمند یک خط اینترنت از یک ISP دیگر است.
یعنی مثلاً شما باید 10 خط اینترنت با IP Valid مجزا داشته باشید و برنامه Proxy شما در سمت کلاینت بتواند هر بار به یکی از Proxy های سرور روی IP مشخص یا Name+DNS وصل شود.

مثلاً پیاده سازی عملی و نهایی این کار به این طریق ممکن است که که شما یک نسخه Proxy برای کار در کلاینت و به صورت exe روی رایانه نصب کنید که از طریق TCP/IP سوکت ها به یک نسخه Proxy سروری به صورت یک webservice یا winservive در یک سایت در هاستینگی در کشور دیگری وصل شود و نسخه سمت کلاینت Proxy با پروتکل TCP/IP اطلاعات را برای سمت سرور Proxy ارسال کند و نسخه سمت سرور به EndPoint مورد نظر وصل شود.

در نهایت برای انکه بتوان IP جاری را فقط و فقط به یک IP تغییر داد باید حداقل یک سرور، هاست، سایت و... در کشور دیگری داشته باشید ...
برای اینکه بتوانید IP را به دوعدد IP دیگر در هر لحظه سوییچ کنید باید دوعدد سرور، هاست، سایت و... داشته باشید. آنهم دو هاست یا سرور با IP مختلف (یا IP Static یا از دو شرکت هاستینگ مختلف)

هیچ برنامه شبکه ای نمیتواند از شما عدد دلخواه IP بگیرید و همینطوری کیلویی IP تان را تغییر دهد!!!
IP در زمان اتصال به ISP توسط ISP به صورت مشخص تخصیص داده خواهد شد.

====

البته خط های اینترنتی که در ایران هم زیاد هستند و معمولاً Static نیستند (همه اینترنت Dialup ها و بیشتر ADSL های ایران) به راحتی با یک Disconnect و Connect مجدد هم عوض میشوند، اگر هدفتان چیزی مشابه ف-ی-ل-ت-ر-ش-ک-ن نباشد میتوانید با خطهای اینترنتی غیر Static مدام IP تان را تغییر دهید...
ولی این IP ها همه ایرانی و همه از ISP شرکت خدماتی خودتان خواهند بود و فرق خواصی با هم ندارند.

=====

پیشنهاد میکنم یا دانش شبکه تان + دانش برنامه نویس تان را افزایش دهید یا از برنامه های آماده استفاده کنید!