İp numara değiştirme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

İp numara değiştirme

Mesaj gönderen brs »

Selam ip numaramı modemi kapatmadan manuel olarak değiştirmek istiyorum bu mümkün mü? aşıdaki kodlarla internet bağlantısı kesildi fakat tekrar bağlantı sağlayamadı iki gündür araştırıyorum sonuç sıfır konu hakkında bilgi paylaşımı yaparsanız sevinirim...

Kod: Tümünü seç

procedure TForm3.Button3Click(Sender: TObject);
begin
ShellExecute(Handle, 'open', Pchar('ipconfig.exe'), Pchar('/release'), nil, SW_SHOWNORMAL);
ShellExecute(Handle, 'open', Pchar('ipconfig.exe'), Pchar('/renew'), nil, SW_SHOWNORMAL);
end;
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: İp numara değiştirme

Mesaj gönderen SimaWB »

Bilgisayarın lokal IP'sinden bahsediyorsanız bu elbette mümkün:
viewtopic.php?f=1&t=31276&hilit=DHCP

Ama reel IP'sinden bahsediyorsanız bunu modemi resetlemeden yapamazsınız. Çünkü bu IP adresi size internet servis sağlayıcınız (ISP) tarafından verilen bir adrestir.
There's no place like 127.0.0.1
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: İp numara değiştirme

Mesaj gönderen Lord_Ares »

Yanlış hatırlamıyorsam şöyle yapıyorlardı,
Modeminizin kullandığı protokolleri internetten bulabilirseniz, windowstaki hyperterminal ile bu kodları modeme işletebiliyorduk. Bu yapıyı kullanarak bir komut istemi yazabilir reset gönderebilirsiniz. Şuan kullanılan modemlerde bu geçerlimi bilmiyorum fakat eski modemlerde böyle birşey yapabiliyorduk. Aklıma gelen ikinci yol ise modeme bir html sayfa ile bağlanabiliyorsak bu sayfanın benzerini sayfa kaynağına bakarak localde pc de oluşturursak, modem ayarlar menüsündeki resetlemeye de ulaşabiliriz. Html parse edip gerekli komutu gönderebiliriz gibi geliyor. İnternette delphi ile yapılmış şöyle birşey gördüm belki işinize yarayabilir..
viewtopic.php?f=2&t=10690 modem resetleme
http://cyber-warrior.org/Forum/modem-reset_399352,0.cwx


Ayrıca paylaşılmış bir kod örneği gördüm, fakat denemedim.

Kod: Tümünü seç

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdTelnet, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient,shellapi;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Button1: TButton;
    IdTelnet1: TIdTelnet;
    Edit5: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure IdTelnet1Status(ASender: TObject; const AStatus: TIdStatus;
      const AStatusText: String);
    procedure IdTelnet1Disconnected(Sender: TObject);

    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure IdTelnet1Connect(Sender: TObject);
    procedure IdTelnet1DataAvailable(Sender: TIdTelnet;
      const Buffer: String);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}



procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
        if IdTelnet1.Connected then IdTelnet1.Disconnect

end;

procedure TForm1.IdTelnet1Status(ASender: TObject;
  const AStatus: TIdStatus; const AStatusText: String);
begin
        Memo1.Lines.Add(AStatusText);
end;

procedure TForm1.IdTelnet1Disconnected(Sender: TObject);
begin
form1.close;
end;



procedure TForm1.Button1Click(Sender: TObject);
begin
IdTelnet1.Host := Edit1.Text ; //modem IP si (Gateway)
  IdTelnet1.Connect;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
memo1.Clear;
end;

procedure TForm1.IdTelnet1Connect(Sender: TObject);
begin
  Color := clTeal;
        Application.ProcessMessages;
        IdTelnet1.WriteLn(Edit2.Text); //modem kullanıcı adı
        Memo1.Lines.Add('Kullanıcı adı gönderildi...');
        Sleep(1000);
        IdTelnet1.WriteLn(Edit3.Text); //modem şifresi
        Memo1.Lines.Add('Şifre gönderildi...');
        Sleep(1000);
        Memo1.Lines.Add('Restart ediliyor...');
        IdTelnet1.WriteLn(Edit4.Text); //restart etme komutu. belki modem markasına göre değişebilir...
        sleep(1500);
        Memo1.Lines.Add('Restart ediliyor...');
        IdTelnet1.WriteLn(Edit5.Text); //restart etme komutu. belki modem markasına göre değişebilir...
        sleep(1500);
        Memo1.Lines.Add('Restart edildi...');
        Sleep(3000);
        IdTelnet1.Disconnect;
        Memo1.Lines.Add('Kapanıyor...');
        sleep(1500);
        form1.close;
end;

procedure TForm1.IdTelnet1DataAvailable(Sender: TIdTelnet;
  const Buffer: String);
begin
showmessage('firewall ı kontrol ediniz');
end;

end.
Cevapla