pomoc oko provere da li je neki port otvoren
Dobrodošli, Gost. Molim vas prijavite se ili se registrujte.
Da li ste izgubili vaš aktivacioni e-mail?

Prijavite se sa korisničkim imenom, lozinkom i dužinom sesije

Linuxo Forumi

Stranice: [1]   Idi dole
  Štampaj  
Autor Tema: pomoc oko provere da li je neki port otvoren  (Pročitano 848 puta)
0 članova i 1 posetilac pregledaju ovu temu.
MisterNo
Sr. Member
****
Van mreže Van mreže

Poruke: 334



« poslato: 23 Март 2006, 15:09:36 »

Treba bi c# code ili eventualno vbs ili cmd skripta za proveru da li je neki remote port otvoren ili ne. Ako je skripta u pitanju treba mi samo kao rezultat true ili false.
Prijavi uredniku   Sačuvana
pedjaman
Full Member
***
Van mreže Van mreže

Poruke: 225


« Odgovor #1 poslato: 23 Март 2006, 23:19:05 »

UH... pa od svih mogućih varijanti ti nađe tri koje su isključivo Microsoft da pitaš na Linux sajtu Smiley

Mislim da u windowsu ne možeš ispitati otvorenost nekog porta a da ne instaliraš neki dodatni softver.

Jedino da instaliraš nmap program, kojim možeš ispitivati koji god želiš port, pa da ga pozivaš iz skripta i obradiš povratnu informaciju.

C#... hm pa ako ima neku klasu tipa TCPPort ili TCPCfient, možeš sa time da odradiš to verovatno

NAravno, možda neko ima bolju ideju.
Prijavi uredniku   Sačuvana
MisterNo
Sr. Member
****
Van mreže Van mreže

Poruke: 334



« Odgovor #2 poslato: 24 Март 2006, 10:43:19 »

Citat
C#... hm pa ako ima neku klasu tipa TCPPort ili TCPCfient, možeš sa time da odradiš to verovatno


Ma ima klasu samo je problem sto kod sinhronog rada blokira celu aplikaciju dok pokusava da se konektuje. Dok sa asinhronim radom ne mogu da se izborim jos uvek. Zato mi treba ne nesto tipa nmapa jer mi on ne radi posao vec neka vbs ili cmd skripta ili sam c# code ali koji je nevezan od socketa.
Prijavi uredniku   Sačuvana
pedjaman
Full Member
***
Van mreže Van mreže

Poruke: 225


« Odgovor #3 poslato: 24 Март 2006, 11:04:24 »

Socket je neophodan element ako želiš bilo kako da komuniciraš sa nekim računarom, pa i da ispitaš otvorenost porta. Socket možeš otvoriti u blocking i asinhronom modu. Ako ti asinhronost ne odgovara, kreiraj nit (thread) u kojoj ćeš koristiti blokirajući pristup i to ti neće blokirati aplikaciju. To je najbolji pristup u tom slučaju.

skript vbs ili šta već u suštini mora da pozove neku aplikaciju koja je ili nije ugrađena u operativni sistem. A svaka aplikacija radi na jedan od dva gore navedena načina.

U prevodu, pogrešan ti je pristup svemu.
Prijavi uredniku   Sačuvana
MisterNo
Sr. Member
****
Van mreže Van mreže

Poruke: 334



« Odgovor #4 poslato: 24 Март 2006, 11:32:17 »

Pa sa multi threadingom sam pokusavao. Evo vrtim se vec par dana. Stavio sam da mi socket ide na beginconnect i da od asinhrone funkcije ceka odgovor odnosno endconnect, a da se ostali kod aplikacije normalno izvrsava. Medjutim kako sam ti rekao nisam se do kraja snasao. Jer sam uspeo da dodjem do toga da kada mi je veza konektovana on vrati true, medjutim kada nije opet mi se ponasa kao da je u sinhronom odnosno blocking modu.
Zato sam spominjao neku exsternu skriptu, jer se ovde vrtim u krug.

Znaci pristup mi nije pogresan, nego gresim negde u kodu. Imas li slucajno neki primer tog tipa. Ja sam gledao sa msdn sajta i probao da iskoristim njihove examplove, ali kako rekoh bez rezultata.
Prijavi uredniku   Sačuvana
pedjaman
Full Member
***
Van mreže Van mreže

Poruke: 225


« Odgovor #5 poslato: 24 Март 2006, 22:54:03 »

Pa ako socket otvaraš u niti, ne bi trebalo da ti se pojavi blokada programa.
Ima nešto da razjasnimo, da bi se proverilo da li je port dostupan, ne postoji eksplicitan način. Jednostavno, ti pokušaš da otvoriš socket ka "server:port" pa ako nema odgovora neko vreme, onda niko ne sluša na njemu ili te odbije. E poenta je u delu "neko vreme" jer kakvo god da napraviš rešenje, ono ne može biti brže od nmap-a. Moraš da odrediš DELAY koji treba sačekati da konekcija eventualno uspe. Što manje vreme odrediš - brža će biti provera ali i veća šansa da bude pogrešna jer možda server nije stigao da odreaguje ili ti je net spor.

Možda bi trebalo da izneseš svoj zadatak detaljno pa da predložimo neko ekonomično rešenje.
Tj, da li proveravaš portove na svojoj ili udaljenoj mašini, da li samo jedan ili više, ...
Prijavi uredniku   Sačuvana
MisterNo
Sr. Member
****
Van mreže Van mreže

Poruke: 334



« Odgovor #6 poslato: 25 Март 2006, 15:12:30 »

Uspeo sam da nadjem neki chat primer gde se koristi asinhrono povezivanje pa cu probati da to iskoristim.

Inace sledeca je problematika. Treba mi socket konekcija ka udaljenom serveru kome prilazim preko frame relay veze. Sa socketom imam neka cetiri tipa komunikacije. Odnosno saljem mu string za logovanje i string za logout, a plus mu u toku rada prosledjujem dva razlicita upita da bi od njega dobio povratne informacije. Sve sam to bio zavrsio sa klasicnom blocking konekcijom. Medjutim sada moram da uradim deo za proveru konekcije ka socketu na neki vremenski intreval u klasicnom modu onda puca. Probacu glavno da iskoristim ovaj primer asinhronog konektovanja koji sam skinuo sa neta pa cu javiti sta sam uradio.
Prijavi uredniku   Sačuvana
MisterNo
Sr. Member
****
Van mreže Van mreže

Poruke: 334



« Odgovor #7 poslato: 25 Март 2006, 15:13:42 »

Uspeo sam da nadjem neki chat primer gde se koristi asinhrono povezivanje pa cu probati da to iskoristim.

Inace sledeca je problematika. Treba mi socket konekcija ka udaljenom serveru kome prilazim preko frame relay veze. Sa socketom imam neka cetiri tipa komunikacije. Odnosno saljem mu string za logovanje i string za logout, a plus mu u toku rada prosledjujem dva razlicita upita da bi od njega dobio povratne informacije. Sve sam to bio zavrsio sa klasicnom blocking konekcijom. Medjutim sada moram da uradim deo za proveru konekcije ka socketu na neki vremenski intreval u klasicnom modu onda puca. Probacu glavno da iskoristim ovaj primer asinhronog konektovanja koji sam skinuo sa neta pa cu javiti sta sam uradio.
Prijavi uredniku   Sačuvana
MisterNo
Sr. Member
****
Van mreže Van mreže

Poruke: 334



« Odgovor #8 poslato: 25 Март 2006, 15:14:41 »

Uspeo sam da nadjem neki chat primer gde se koristi asinhrono povezivanje pa cu probati da to iskoristim.

Inace sledeca je problematika. Treba mi socket konekcija ka udaljenom serveru kome prilazim preko frame relay veze. Sa socketom imam neka cetiri tipa komunikacije. Odnosno saljem mu string za logovanje i string za logout, a plus mu u toku rada prosledjujem dva razlicita upita da bi od njega dobio povratne informacije. Sve sam to bio zavrsio sa klasicnom blocking konekcijom. Medjutim sada moram da uradim deo za proveru konekcije ka socketu na neki vremenski intreval u klasicnom modu onda puca. Probacu glavno da iskoristim ovaj primer asinhronog konektovanja koji sam skinuo sa neta pa cu javiti sta sam uradio.
Prijavi uredniku   Sačuvana
pedjaman
Full Member
***
Van mreže Van mreže

Poruke: 225


« Odgovor #9 poslato: 25 Март 2006, 23:29:17 »

Imam dosta iskustva sa SOCKET programiranjem (C, C++), i otprilike da se pokazalo da nema načina da ubrzaš proveru. Nekih 5 sekundi je interval koji moraš gubiti bez obzira da li je sinhrono ili asinhorno da bi dobio pouzdane podatke
Prijavi uredniku   Sačuvana
MisterNo
Sr. Member
****
Van mreže Van mreže

Poruke: 334



« Odgovor #10 poslato: 27 Март 2006, 15:39:12 »

Izborio sam se. Koristio sam asinhrono konektovanje na socket i radi.

U svakom slucaju @pedjaman hvala na pomoci.
Prijavi uredniku   Sačuvana
pedjaman
Full Member
***
Van mreže Van mreže

Poruke: 225


« Odgovor #11 poslato: 27 Март 2006, 18:05:40 »

važno da je problem rešen. Uživaj Smiley
Prijavi uredniku   Sačuvana
Stranice: [1]   Idi gore
  Štampaj  
 
Prebaci se na: