IP numarasını değiştirme...
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
IP numarasını değiştirme...
Arkadaşlar Kod ile ip numarasını değiştirme gibi bir imkanımız var mı. Registerda bir arama yaptım Ip numaramın bir çok yerde geçtiğini gördüm ve bu yerlerin isimleri makinadan makina değişebilecek şekilde yapılmış. Acaba bu ip numarasını komut satırı yardımıyla yada kod ile değiştirmemizi sağlaya bilecek örnek kod vs bulabileceğim bir yer var mı ???
St. NonStop
Aziz DURMAZ
Elektronik ve Haberleşme Mühendisi
Aziz DURMAZ
Elektronik ve Haberleşme Mühendisi
ip adresi programla değişmez çünkü sen internete bağlandıgın an şebeken sana bir ip adresi veriyor 85.85.85.85 gibi bu senin bilgisayarındır her bilgisayarın ayrıdır farzetki sen bunu değiştirdin 85.85.85.86 yaptın sence olbilirmi mantıgın alıyormu ? değiştirdigin ip adresin o anda nette kullanıyolar olsa ne gibi bi sonuc cıkar bilemem
ancak modeme reset atarsın ve baglandıgın zaman otomaitk olarak kullanılmayan bir ip adresi gelir.
ancak modeme reset atarsın ve baglandıgın zaman otomaitk olarak kullanılmayan bir ip adresi gelir.
Local ağdaki ip numarasından bahsediyordum. Sonuç olarak 2 farklı ağ var ortamda fiziksel olarak da ip numaraları olarakda, 1. Ağ ve 2. Ağ olmak üzere iki adet buton kullanıcı 1. ağa bastığı zaman daha önceden tanımlanmış ağ ayarlarını veya hiç değilse TCP IP numarasını değiştirebilmeyi umuyorum.
Kaldı ki local ağ ile çalıştığımızdan ve sistem admin tarafından bu numaralar verildiğinden sizin söylediğiniz gibi bir sorun çıkmaz çıkarsa bu sistem yöneticisinin hatasıdır.
Bu arada internete bağlanınca bir DHCP sunucusu tarafından bize bir ip adresi atanıyor. Şebeke (PSTN şebekesi) ile alakası yok. Eğer bu şekilde konfigure edilmemiş bir ağa girersek (yani ip numarası otomatik olarak atanmayan Fi tarihinde Raks netin yaptığı gibi) bizim bir ip numarasın belirtmemiz gerekmektedir. Eğer çakışma oluşursa bağlantımız kabul edilmez... Başka bir sonuç veya sorun çıkmaz.
Bu konular çerçevesinde cevap verebilirseniz sevinirim.... Eksik bilgiden dolayı özür dilerim...
Kaldı ki local ağ ile çalıştığımızdan ve sistem admin tarafından bu numaralar verildiğinden sizin söylediğiniz gibi bir sorun çıkmaz çıkarsa bu sistem yöneticisinin hatasıdır.
Bu arada internete bağlanınca bir DHCP sunucusu tarafından bize bir ip adresi atanıyor. Şebeke (PSTN şebekesi) ile alakası yok. Eğer bu şekilde konfigure edilmemiş bir ağa girersek (yani ip numarası otomatik olarak atanmayan Fi tarihinde Raks netin yaptığı gibi) bizim bir ip numarasın belirtmemiz gerekmektedir. Eğer çakışma oluşursa bağlantımız kabul edilmez... Başka bir sonuç veya sorun çıkmaz.
Bu konular çerçevesinde cevap verebilirseniz sevinirim.... Eksik bilgiden dolayı özür dilerim...
St. NonStop
Aziz DURMAZ
Elektronik ve Haberleşme Mühendisi
Aziz DURMAZ
Elektronik ve Haberleşme Mühendisi
- sadettinpolat
- Moderator
- Mesajlar: 2130
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
bu tip yontemleri kullanmayi pek uygun gormesemde acilse isinize yarayabilir
şu adreste başka bir yöntemi var ama ücretli olduğu için okuyamıyoruz
http://www.delphi3000.com/articles/article_4392.asp?SK=
http://msdn.microsoft.com/library/defau ... orking.asp
Kod: Tümünü seç
shellexecute(handle,'open','netsh.exe',
'interface ip set address "Local Area Connection" ' +
'static 192.168.1.45 255.255.255.0 192.168.1.1 1',
nil,sw_hide);
şu adreste başka bir yöntemi var ama ücretli olduğu için okuyamıyoruz
http://www.delphi3000.com/articles/article_4392.asp?SK=
http://msdn.microsoft.com/library/defau ... orking.asp
@sadettinpolat yazdı:şu adreste başka bir yöntemi var ama ücretli olduğu için okuyamıyoruz
http://www.delphi3000.com/articles/article_4392.asp?SK=
Kod: Tümünü seç
Answer:
uses ComObj, ActiveX, UrlMon;
// ======================================================================
// SetIpConfig()
// Set IPAddress, Gateway and Subnetmask via WMI
// Arguments ...
// AIpAddress - If Null String or 'DHCP' then DHCP is ENABLED
// else STATIC IP is set.
// AGateWay - [Optional] If Omitted then GATEWAY is left unchanged.
// SubnetMask - [Optional] If Omited then default = '255.255.255.0'.
//
// SetDnsServers()
// Set DNS Servers via WMI
// Arguments ...
// APrimaryDNS - If Null String then DNS Server List is CLEARED.
// AAlternateDNS - [Optional]
//
// Return Values ...
// 0 Successful completion, no reboot required.
// 1 Successful completion, reboot required.
// -1 Unknown OLE Error
// 64 Method not supported on this platform.
// 65 Unknown failure.
// 66 Invalid subnet mask.
// 67 An error occurred while processing an instance that was returned.
// 68 Invalid input parameter.
// 69 More than five gateways specified.
// 70 Invalid IP address.
// 71 Invalid gateway IP address.
// 72 An error occurred while accessing the registry for the info.
// 73 Invalid domain name.
// 74 Invalid host name.
// 75 No primary or secondary WINS server defined.
// 76 Invalid file.
// 77 Invalid system path.
// 78 File copy failed.
// 79 Invalid security parameter.
// 80 Unable to configure TCP/IP service.
// 81 Unable to configure DHCP service.
// 82 Unable to renew DHCP lease.
// 83 Unable to release DHCP lease.
// 84 IP not enabled on adapter.
// 85 IPX not enabled on adapter.
// 86 Frame/network number bounds error.
// 87 Invalid frame type.
// 88 Invalid network number.
// 89 Duplicate network number.
// 90 Parameter out of bounds.
// 91 Access denied.
// 92 Out of memory.
// 93 Already exists.
// 94 Path, file, or object not found.
// 95 Unable to notify service.
// 96 Unable to notify DNS service.
// 97 Interface not configurable.
// 98 Not all DHCP leases could be released or renewed.
// 100 DHCP not enabled on adapter.
// ======================================================================
// ==================================================================
// IP Address,Gateway and Subnet Mask
// EnableStatic takes array of string as a parameter
// for the Addresses. You may wish to rewrite this using
// array of string as parameter for multiple IP Addresses.
// I only have use for 1 IP address and Gateway in our application
// but it's nice to be able to expand it for other users.
// ==================================================================
function SetIpConfig(const AIpAddress : string;
const AGateWay : string = '';
const ASubnetMask : string = '') : integer;
var Retvar : integer;
oBindObj : IDispatch;
oNetAdapters,oNetAdapter,
oIpAddress,oGateWay,
oWMIService,oSubnetMask : OleVariant;
i,iValue : longword;
oEnum : IEnumvariant;
oCtx : IBindCtx;
oMk : IMoniker;
sFileObj : widestring;
begin
Retvar := 0;
sFileObj := 'winmgmts:\\.\root\cimv2';
// Create OLE [IN} Parameters
oIpAddress := VarArrayCreate([1,1],varOleStr);
oIpAddress[1] := AIpAddress;
oGateWay := VarArrayCreate([1,1],varOleStr);
oGateWay[1] := AGateWay;
oSubnetMask := VarArrayCreate([1,1],varOleStr);
if ASubnetMask = '' then
oSubnetMask[1] := '255.255.255.0'
else
oSubnetMask[1] := ASubnetMask;
// Connect to WMI - Emulate API GetObject()
OleCheck(CreateBindCtx(0,oCtx));
OleCheck(MkParseDisplayNameEx(oCtx,PWideChar(sFileObj),i,oMk));
OleCheck(oMk.BindToObject(oCtx,nil,IUnknown,oBindObj));
oWMIService := oBindObj;
oNetAdapters := oWMIService.ExecQuery('Select * from ' +
'Win32_NetworkAdapterConfiguration ' +
'where IPEnabled=TRUE');
oEnum := IUnknown(oNetAdapters._NewEnum) as IEnumVariant;
while oEnum.Next(1,oNetAdapter,iValue) = 0 do begin
try
// Set by DHCP ? (Gateway and Subnet ignored)
if (AIpAddress = '') or SameText(AIpAddress,'DHCP') then
Retvar := oNetAdapter.EnableDHCP
// Set via STATIC ?
else begin
Retvar := oNetAdapter.EnableStatic(oIpAddress,oSubnetMask);
// Change Gateway ?
if (Retvar = 0) and (AGateWay <> '') then
Retvar := oNetAdapter.SetGateways(oGateway);
// *** This is where we need some sort of ***
// *** Network Mapped Resource Refresh ***
end;
except
Retvar := -1;
end;
oNetAdapter := Unassigned;
end;
oGateWay := Unassigned;
oSubnetMask := Unassigned;
oIpAddress := Unassigned;
oNetAdapters := Unassigned;
oWMIService := Unassigned;
Result := Retvar;
end;
// ====================================================
// Set DNS Servers
// Instead of Primary and Alternate you may wish
// to rewrite this using array of string as the
// parameters as SetDNSServerSearchOrder will take
// a list of many DNS addresses. I only have use for
// Primary and Alternate.
// ====================================================
function SetDnsServers(const APrimaryDNS : string;
const AAlternateDNS : string = '') : integer;
var Retvar : integer;
oBindObj : IDispatch;
oNetAdapters,oNetAdapter,
oDnsAddr,oWMIService : OleVariant;
i,iValue,iSize : longword;
oEnum : IEnumvariant;
oCtx : IBindCtx;
oMk : IMoniker;
sFileObj : widestring;
begin
Retvar := 0;
sFileObj := 'winmgmts:\\.\root\cimv2';
iSize := 0;
if APrimaryDNS <> '' then inc(iSize);
if AAlternateDNS <> '' then inc(iSize);
// Create OLE [IN} Parameters
if iSize > 0 then begin
oDnsAddr := VarArrayCreate([1,iSize],varOleStr);
oDnsAddr[1] := APrimaryDNS;
if iSize > 1 then oDnsAddr[2] := AAlternateDNS;
end;
// Connect to WMI - Emulate API GetObject()
OleCheck(CreateBindCtx(0,oCtx));
OleCheck(MkParseDisplayNameEx(oCtx,PWideChar(sFileObj),i,oMk));
OleCheck(oMk.BindToObject(oCtx,nil,IUnknown,oBindObj));
oWMIService := oBindObj;
oNetAdapters := oWMIService.ExecQuery('Select * from ' +
'Win32_NetworkAdapterConfiguration ' +
'where IPEnabled=TRUE');
oEnum := IUnknown(oNetAdapters._NewEnum) as IEnumVariant;
while oEnum.Next(1,oNetAdapter,iValue) = 0 do begin
try
if iSize > 0 then
Retvar := oNetAdapter.SetDNSServerSearchOrder(oDnsAddr)
else
Retvar := oNetAdapter.SetDNSServerSearchOrder();
except
Retvar := -1;
end;
oNetAdapter := Unassigned;
end;
oDnsAddr := Unassigned;
oNetAdapters := Unassigned;
oWMIService := Unassigned;
Result := Retvar;
end;
(* ----------------------------------------------------
See the Miscrosoft MSDN Documentation for the
Win32_NetworkAdapterConfiguration Class
(implemented as oNetAdatper in my examples),
There are many more calls besides EnableStatic,
EnableDHCP and SetDNBSServerSearchOrder.
Some of them are ...
DisableIPSec
EnableDHCP
EnableDNS
EnableIPFilterSec
EnableIPSec
EnableStatic
EnableWINS
ReleaseDHCPLease
ReleaseDHCPLeaseAll
RenewDHCPLease
RenewDHCPLeaseAll
SetArpAlwaysSourceRoute
SetArpUseEtherSNAP
SetDatabasePath
SetDeadGWDetect
SetDefaultTTL
SetDNSDomain
SetDNSServerSearchOrder
SetDNSSuffixSearchOrder
SetDynamicDNSRegistration
SetForwardBufferMemory Specifies
SetGateways
SetIGMPLevel
SetIPConnectionMetric
SetIPUseZeroBroadcast
SetIPXFrameTypeNetworkPairs
SetIPXVirtualNetworkNumber
SetKeepAliveInterval
SetKeepAliveTime
SetNumForwardPackets
SetPMTUBHDetect
SetPMTUDiscovery
SetTcpipNetbios
SetTcpMaxConnectRetransmissions
SetTcpMaxDataRetransmissions
SetTcpNumConnections
SetTcpUseRFC1122UrgentPointer
SetTcpWindowSize
SetWINSServer
------------------------------------------------ *)
Ben kodu deneim ama sanırım eksik bişiler yaptım değiştiremedim ip yi deneyen biri varmı çalıştıran?sadettinpolat yazdı:bu tip yontemleri kullanmayi pek uygun gormesemde acilse isinize yarayabilir
Kod: Tümünü seç
shellexecute(handle,'open','netsh.exe', 'interface ip set address "Local Area Connection" ' + 'static 192.168.1.45 255.255.255.0 192.168.1.1 1', nil,sw_hide);
- proteknikblg
- Üye
- Mesajlar: 35
- Kayıt: 27 Nis 2006 08:39
- Konum: Sivas
- İletişim:
ipconfig /release_all
ipconfig_renew
not:parametreleri kontrol ediniz.
yanız bu dgcp den gelen lokal ip yi yeniler. ip yi ben atayacağım diyorsanız bilemem
ipconfig_renew
not:parametreleri kontrol ediniz.
yanız bu dgcp den gelen lokal ip yi yeniler. ip yi ben atayacağım diyorsanız bilemem
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
- proteknikblg
- Üye
- Mesajlar: 35
- Kayıt: 27 Nis 2006 08:39
- Konum: Sivas
- İletişim:
Mrb.
http://rapidshare.com/files/66425281/ipchange.zip.html
sanırım sorununu çözecektir kaynak kod içindedir. kolay gelsin
http://rapidshare.com/files/66425281/ipchange.zip.html
sanırım sorununu çözecektir kaynak kod içindedir. kolay gelsin
Bilgi Paylaştıkça Çoğalır
- proteknikblg
- Üye
- Mesajlar: 35
- Kayıt: 27 Nis 2006 08:39
- Konum: Sivas
- İletişim:
Re: IP numarasını değiştirme...
Cevap için teşekkürler. Mesela ip yi istediğimiz gibi atadık. Bundan sonra tekrar otomatik bir ip almasını istiyoruz .Bunu nasıl yapabiliriz?
Re: IP numarasını değiştirme...
myalcin yazdı:Cevap için teşekkürler. Mesela ip yi istediğimiz gibi atadık. Bundan sonra tekrar otomatik bir ip almasını istiyoruz .Bunu nasıl yapabiliriz?
shell execute ile daha önceki cevabımdaki komutları çalıştırarak
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Re: IP numarasını değiştirme...
şöyle bir çözüm buldum
bunu yaptığımızda direkt olarak otomatik bir ip alıyor.
Kod: Tümünü seç
SetIpConfig('','','');