Avatar billede euroman28 Nybegynder
20. december 2003 - 21:17 Der er 18 kommentarer og
1 løsning

Hvordan henter man oplysninger om remote PC's Operativ System

Jeg mangler en simpel function der kan fortælle mig hvilket OS der er på en remote PC.
Skal virke på NT, W2K & XP.
VB 6.0
Avatar billede bufferzone Praktikant
20. december 2003 - 21:39 #1
Det er der ingen funktion der gør, disse oplysninger er netop hvad en hacker bl.a. ønsker, hvorfor de ikke sådan bare gives ud. Hvis du ved hvilket operativsystem du står overfor er det let at finde ud af hvordan du kommer ind.

Der er en række programmer der kan give dig et gæt. ligesom header opysninger vil give dig oplysninger om hvilken webserver du er over for samt operativsystemet den køre på. hvis det kun er webservere du har brug for, så kan du udnytte dette.
Avatar billede bufferzone Praktikant
20. december 2003 - 21:42 #2
Prøv f.eks. at downloade værktøjer NetCat, der er et værktøj der anvendes af hackere samt til sårbarhedsanalyse, instaler det hvorefter du i en commandopromt skriver:

nc xxx.xxx.xxx.xxx 80
enter
enter
HEAD / HTTP/1.0
enter
enter

Detnne kommande vil give dig header oplysningerne fra webserveren hvis ip adresse du indtaster
Avatar billede euroman28 Nybegynder
20. december 2003 - 21:43 #3
Nej der er ingen function der gør det, det er derfor jeg giver 200 point til den der laver den. Jeg syntes du vrøvler lidt. Det er let at finde ud af hvilket OS folk har, men det er absolut ikke nemt at komme ind bare fordi man ved hvilket OS de kører.
Avatar billede euroman28 Nybegynder
20. december 2003 - 21:44 #4
Jeg ved hvordan man gør det med ASP, men nu sidder jeg med VB.
Avatar billede bufferzone Praktikant
20. december 2003 - 21:45 #5
Det er absolut let at komme ind hvis man ved hvad man står over for.
Avatar billede bufferzone Praktikant
20. december 2003 - 21:55 #6
Den eneste grund til at asp (og php) kan dette, er at det er en del af de header oplysninger alle webservere uddeler, da deteren del at http protokollen. ASP, PHP eller andre systemer for den sags skyld kan ikke lovligt få den slags oplysninger ud af andre systemer. Det kan lade sig gøre at analysere sig frem til OS, men det er ikke etisk at gøre det
Avatar billede arne_v Ekspert
20. december 2003 - 22:01 #7
Snakker vi browser-internet-server eller snakker vi PC-LAN-PC ?

Med sidstenævnte er det det muligt, hvilket man nemt kan overbevis esig om
ved at at browse netværket og tage properties på noder. Der står type.

Men næste spørgsmå er så hvordan man laver det fra VB !
Avatar billede euroman28 Nybegynder
20. december 2003 - 22:05 #8
Du vrøvler stadig. Hvis du ikke kan hjælpe mig så find et andet sted og leg ekspert.

Jeg har brug for at vide hvilken operativsystem vores servere kører så jeg kan sende den rigtige commando afsted til dem og der er intet uetisk i det.
Det kan gøres med AD, WMI eller bare en SNMP-trap og sikkert på mange andre nemme måder. Jeg søger den nemmeste.
AD & WMI virker dog ikke på NT 4.0, med mindre man har installeret WMI på serveren der spørges på og det er der ikke altid.
Avatar billede euroman28 Nybegynder
20. december 2003 - 22:05 #9
Tak Arne...det er også mit spørgsmål :)
Avatar billede bufferzone Praktikant
20. december 2003 - 22:23 #10
Hvis vi er på lan er der ingen etiske problemer, så "ejer" du jo selv systemet, forsøger du at fingerprinte mine systemer, så bliver de etiske problemer meget hurtigt til juridiske problemer
Avatar billede euroman28 Nybegynder
20. december 2003 - 22:37 #11
Sludder...det er fuldt lovligt at kører statistik på systemer, browser, webservers, OS osv.
Der ville ikke engang blive juridiske problemer hvis jeg kørte en Portscan mod din PC.
Avatar billede arne_v Ekspert
20. december 2003 - 22:54 #12
Jeg tror at det er den her du skal bruge:
  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/netmgmt/netmgmt/netservergetinfo.asp

Jeg har lige testet at den virker op mod min gamle 3.51 compatible server.
Avatar billede arne_v Ekspert
20. december 2003 - 22:56 #13
Umiddelbart ser den rimeligt straigt forward ud at kalde fra VB også.

Skal jeg gøre et forsøg ?
Avatar billede arne_v Ekspert
20. december 2003 - 23:36 #14
Prøv den her:

Declare Sub NetServerGetInfo Lib "Netapi32" (ByVal servername As String, ByVal level As Integer, ByRef bufptr As Long)
Declare Sub NetApiBufferFree Lib "Netapi32" (ByVal bufptr As Long)
Declare Sub CopyMemoryRead Lib "kernel32" Alias "RtlMoveMemory" (dest As Any, ByVal src As Long, ByVal nobyt As Long)

Function GetServerVersion(node As String) As String
    Dim buf As SERVER_INFO_101
    Dim bufptr As Long
    Call NetServerGetInfo(StrConv(node, vbUnicode), 101, bufptr)
    Call CopyMemoryRead(buf, bufptr, 24)
    Call NetApiBufferFree(bufptr)
    GetServerVersion = buf.sv101_version_major & "." & buf.sv101_version_minor
End Function
Avatar billede arne_v Ekspert
20. december 2003 - 23:37 #15
Jeg har testet den mod en 3.51 og en 5.0 server i VBA.
Avatar billede arne_v Ekspert
20. december 2003 - 23:50 #16
node angives som:
  \\servernavn

Maskinen det kører på skal være NT/200X.
Avatar billede euroman28 Nybegynder
21. december 2003 - 15:37 #17
Det ligner det jeg skal bruge, men jeg kan nu ikke få det til at virke.
I linien:   
Dim buf As SERVER_INFO_101
Får jeg fejlen:
User Defined type not defined.
Avatar billede arne_v Ekspert
21. december 2003 - 15:55 #18
Hov jeg glemte det her:

Type SERVER_INFO_101
  sv101_platform_id  As Long
  sv101_name As Long
  sv101_version_major As Long
  sv101_version_minor As Long
  sv101_type As Long
  sv101_comment As Long
End Type
Avatar billede euroman28 Nybegynder
21. december 2003 - 16:55 #19
Jamen nu virker det fint. Mange Tak.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester