Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Valideren of een ip adress een website heeft

Pagina: 1
Acties:

  • Refragmental
  • Registratie: Oktober 2000
  • Laatst online: 23-06 15:15
Ik vroeg me af of het mogelijk was om met behulp van een script in Windows XP of DOS een lijst van pakweg 400 ip addressen automatisch te controleren of hieraan een website hangt.

Zoals ik het nu doe is het nogal omslachtig. In excel heb ik die lijst met IP addressen, dit laat ik autmatisch per IP veranderen in bijvoorbeeld http://10.123.123.123. Dit copy ik en paste het in IE. Heel vaak krijg ik "Cannot Find Server", dit moet toch makkelijker en automatisch af te vangen zijn?

ping naar ip is niet altijd een optie. Sommige ip's hebben wel een response maar geen webinterface, deze worden zo niet afgevangen.

Mijn vraag is daarom... is dit te doen (zonder third party tools)?

  • TargetX
  • Registratie: November 2005
  • Laatst online: 18-11 10:37
zonder externe tools zou je het wellicht kunnen scripten (Batch file met telnet naar poort 80 in een loop oid) maar ik zou het eens met nmap proberen... :) succes!

[ Voor 24% gewijzigd door TargetX op 25-09-2008 14:30 ]


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Mijn vraag is daarom... is dit te doen (zonder third party tools)?
Waarom? Wat je namelijk zoekt is een portscanner zoals bijvoorbeeld nmap. Met de standaard Windows utils is dit uitermate omslachtig (zoals je zelf ook al ervaart)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • Refragmental
  • Registratie: Oktober 2000
  • Laatst online: 23-06 15:15
Spider.007 schreef op donderdag 25 september 2008 @ 14:35:
[...]
Waarom? Wat je namelijk zoekt is een portscanner zoals bijvoorbeeld nmap. Met de standaard Windows utils is dit uitermate omslachtig (zoals je zelf ook al ervaart)
Omdat het hier een beveiligd netwerk betreft en waar zware Information Protection policies gelden (en waar ik tevens geen ownership heb).
Als ik met nmap aan de slag ga wordt dat zeker niet gewaardeerd op meerdere fronten.

  • TargetX
  • Registratie: November 2005
  • Laatst online: 18-11 10:37
Refragmental schreef op donderdag 25 september 2008 @ 14:43:
[...]


Omdat het hier een beveiligd netwerk betreft en waar zware Information Protection policies gelden (en waar ik tevens geen ownership heb).
Als ik met nmap aan de slag ga wordt dat zeker niet gewaardeerd op meerdere fronten.
Je kunt toch gewoon een nmap scan doen die alleen poort 80 scant? Lijkt me nou niet echt een probleem, dit valt amper op...

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

En daarnaast is er geen alternatief wat hetzelfde kan, maar niet hetzelfde overkomt op een buitenstaander ;) Je kan wel met telnet knoeien; maar dat levert precies hetzelfde probleem op als je werkt in een netwerk met
zware Information Protection policies

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • Edgarz
  • Registratie: Oktober 2005
  • Laatst online: 29-11 17:47

Edgarz

Tweako-active since1986

Als de policies het gebruik van deze tools verbieden dan zal de actie (in zekere mate portscannen) zelf wellicht ook wel beperkt kunnen zijn door zo'n policy?

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Tja, oftewel; als het niet mag, dan moet je het niet doen; en als het wel mag moet je gewoon de juiste tools gebruiken ;)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • Refragmental
  • Registratie: Oktober 2000
  • Laatst online: 23-06 15:15
Edgarz schreef op donderdag 25 september 2008 @ 15:07:
Als de policies het gebruik van deze tools verbieden dan zal de actie (in zekere mate portscannen) zelf wellicht ook wel beperkt kunnen zijn door zo'n policy?
Sterker nog... ik mag geen software of tools gebruiken die niet standaard zijn geinstalleerd op de servers.

Ik mag wel simpele .bat schrijven en runnen die niks wijzigen (enkel een log file wegschrijven).

  • gambieter
  • Registratie: Oktober 2006
  • Niet online

gambieter

Just me & my cat

Refragmental schreef op donderdag 25 september 2008 @ 15:13:
Sterker nog... ik mag geen software of tools gebruiken die niet standaard zijn geinstalleerd op de servers.

Ik mag wel simpele .bat schrijven en runnen die niks wijzigen (enkel een log file wegschrijven).
Misschien moet je eens met systeembeheer gaan praten en uitleggen waarom je dit wil doen (het is mij namelijk een raadsel). Als het werkgerelateerd is en je hebt een goede businesscase, dan zal systeembeheer echt wel meewerken. Als het niet werkgerelateerd is, doe het dan thuis :)

I had a decent lunch, and I'm feeling quite amiable. That's why you're still alive.


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ik heb eens even zitten spelen en ben met deze oplossing gekomen:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Option Explicit

Public Sub CheckURLs()
    Dim sIP As String
    Dim lRow As Long
    Dim oXMLHTTP As Object
    
    'Init XMLHTTP object and set timeouts
    Set oXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP.4.0")
    oXMLHTTP.setTimeouts 5000, 5000, 5000, 5000
  
    'Iterate all rows with data until we encounter an empty row
    lRow = 1
    sIP = Cells(lRow, 1) 'Start @ A1

    On Error GoTo ErrSend

    While Len(sIP) > 0
        oXMLHTTP.Open "GET", "http://" & sIP, False
        oXMLHTTP.send

        'Valid HTTP status?
        If (oXMLHTTP.Status >= 200) And (oXMLHTTP.Status < 400) Then
            Cells(lRow, 2) = "Site detected"
        Else
            Cells(lRow, 2) = "None"
        End If
Cont:
        lRow = lRow + 1
        sIP = Cells(lRow, 1) 'Next row
    Wend
    
    Set oXMLHTTP = Nothing
    Exit Sub
ErrSend:
    Cells(lRow, 2) = "Error"
    Resume Cont
End Sub


Dit gaat er van uit dat je ip's in de A kolom staan, beginnend bij rij 1. Zodra er een lege cell wordt tegengekomen stopt de lus; en in de B kolom wordt de uitslag geplaatst.

Zit wat ranzige "On error resume next" zooi in e.d. maar helaas zijn in VBA try/catch constructies niet mogelijk.

Normaal ben ik niet zo van het voorkauwen of complete oplossingen posten maar deze was wel even interessant om uit te puzzelen :P :X Dus you're in luck today ;)

[ Voor 10% gewijzigd door RobIII op 25-09-2008 15:33 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Refragmental
  • Registratie: Oktober 2000
  • Laatst online: 23-06 15:15
RobIII schreef op donderdag 25 september 2008 @ 15:16:
Ik heb eens even zitten spelen en ben met deze oplossing gekomen:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Option Explicit

Public Sub CheckURLs()
    Dim sIP As String
    Dim lRow As Long
    Dim oXMLHTTP As Object
    
    On Error GoTo ErrSend
    
    'Init XMLHTTP object and set timeouts
    Set oXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP.4.0")
    oXMLHTTP.setTimeouts 5000, 5000, 5000, 5000
  
    'Iterate all rows with data until we encounter an empty row
    lRow = 1
    sIP = Cells(lRow, 1) 'Start @ A1
    While Len(sIP) > 0
        oXMLHTTP.Open "GET", "http://" & sIP, False
        oXMLHTTP.send

        'Valid HTTP status?
        If (oXMLHTTP.Status >= 200) And (oXMLHTTP.Status < 400) Then
            Cells(lRow, 2) = "Site detected"
        Else
            Cells(lRow, 2) = "None"
        End If
Cont:
        lRow = lRow + 1
        sIP = Cells(lRow, 1) 'Next row
    Wend
    
    Set oXMLHTTP = Nothing
    Exit Sub
ErrSend:
    Cells(lRow, 2) = "Error"
    Resume Cont
End Sub


Dit gaat er van uit dat je ip's in de A kolom staan, beginnend bij rij 1. Zodra er een lege cell wordt tegengekomen stopt de lus; en in de B kolom wordt de uitslag geplaatst.

Zit wat ranzige "On error resume next" zooi in e.d. maar helaas zijn in VBA try/catch constructies niet mogelijk.

Normaal ben ik niet zo van het voorkauwen of complete oplossingen posten maar deze was wel even interessant om uit te puzzelen :P :X Dus you're in luck today ;)
Wow thanks!
Ik ben niet echt bekend met VB, neem aan dat dit gewoon in excel kan worden gemaakt (macro)?
Dan ga ik straks eens kijken wat dit oplevert.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Refragmental schreef op donderdag 25 september 2008 @ 15:30:
[...]


Wow thanks!
Ik ben niet echt bekend met VB, neem aan dat dit gewoon in excel kan worden gemaakt (macro)?
Dan ga ik straks eens kijken wat dit oplevert.
Gewoon als macro plakken, alt + F8 rammen en de macro uitvoeren...

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

code:
1
   oXMLHTTP.Open "GET", "http://" & sIP, False


Domme vraag maar heb je dan uiteindelijk 400 IE vensters open? :P

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op donderdag 25 september 2008 @ 15:34:
code:
1
   oXMLHTTP.Open "GET", "http://" & sIP, False


Domme vraag maar heb je dan uiteindelijk 400 IE vensters open? :P
Nope. Maar als je het even had geprobeerd had je 't zo geweten ;) Overigens wordt er gekeken naar HTTP statuscodes 200 tot 400 (zie http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html). Dat was even natte-vinger werk; wellicht dat je die 'filter' even wat bij wil stellen. in principe zul je een 200 OK verwachten, maar een "unauthorized" is natuurlijk ook een site maar niet toegankelijk etc. Sterker; in principe is ELKE HTTP status 'valid'; er draait dan immers een webserver. Een 404 is ook een "website", alleen kan de pagina niet gevonden worden.

[ Voor 56% gewijzigd door RobIII op 25-09-2008 15:40 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Refragmental
  • Registratie: Oktober 2000
  • Laatst online: 23-06 15:15
Hoelang zou die script moeten draaien?
Heb em al een keer geprobeerd te draaien, maar toen crashte m'n excel :/

  • DiedX
  • Registratie: December 2000
  • Laatst online: 30-11 12:12
Refragmental schreef op donderdag 25 september 2008 @ 16:38:
Hoelang zou die script moeten draaien?
Heb em al een keer geprobeerd te draaien, maar toen crashte m'n excel :/
Ik ben totaal geen vb-expert, maar je ziet
5000, 5000, 5000, 5000
Verlaag die eens naar 500, run again.

DiedX supports the Roland™, Sound Blaster™ and Ad Lib™ sound cards


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Dat zijn inderdaad 4 timeouts van 5 sec. dus max 20 sec. per ip.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Refragmental
  • Registratie: Oktober 2000
  • Laatst online: 23-06 15:15
Ai! :D
Keer 428... kan zo'n 2 uur en 20 minuten duren.
Met 500 ipv van 5000 gaat het eens flink stuk sneller.

Heb em al gedraaid en het lijkt inderdaad te werken. Alleen een aantal vreemde resultaten, maar daar moet ik even beter naar kijken voordat ik daar een uitspraak over kan doen.

  • Refragmental
  • Registratie: Oktober 2000
  • Laatst online: 23-06 15:15
Overigens... In welke gevallen geeft ie None en welke gevallen Error?

Ik zie in een aantal gevallen None voorbijkomen, wanneer ik dat ip controleer is het eerste wat ik krijg een prompt voor login. Dus er zit wel een website achter maar kom er niet direct op.

Error lijkt inderdaad te zeggen dat er gewoonweg geen website achter zit.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Refragmental schreef op donderdag 25 september 2008 @ 17:52:
Overigens... In welke gevallen geeft ie None en welke gevallen Error?
None zal niet snel voorkomen; en is eigenlijk niet eens echt correct zoals ik aangaf. In gevallen waarin de HTTP status code is < 200 of >= 400 zou je none krijgen. Dan draait er dus wel een webserver maar heb je bijv. een 404 te pakken...
Refragmental schreef op donderdag 25 september 2008 @ 17:52:
Ik zie in een aantal gevallen None voorbijkomen, wanneer ik dat ip controleer is het eerste wat ik krijg een prompt voor login. Dus er zit wel een website achter maar kom er niet direct op.
Wat je zou kunnen doen is de status achter "None" plakken:

Visual Basic:
1
            Cells(lRow, 2) = "None, status was: " & oXMLHTTP.Status

of de statustext:
Visual Basic:
1
            Cells(lRow, 2) = "None, status was: " & oXMLHTTP.StatusText



Bij "error" werd er een error geraised door het XMLHTTP object wat betekent dat er (in pricipe) geen HTTP status binnen is gekomen. Dat kan een timeout zijn (server down), DNS lookup failure etc. etc.

[ Voor 10% gewijzigd door RobIII op 25-09-2008 17:57 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Refragmental
  • Registratie: Oktober 2000
  • Laatst online: 23-06 15:15
Hmmm, het lijkt erop dat hij sommige ip's als error rekent terwijl er 100% zeker een website achter zit.

Edit:
Is het mogelijk om ook te weten waarom hij die error geeft?

[ Voor 25% gewijzigd door Refragmental op 25-09-2008 18:01 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Refragmental schreef op donderdag 25 september 2008 @ 17:59:
Hmmm, het lijkt erop dat hij sommige ip's als error rekent terwijl er 100% zeker een website achter zit.

Edit:
Is het mogelijk om ook te weten waarom hij die error geeft?
Dat zeg ik toch net?
Oh, wacht. Bij None kun je het StatusText property gebruiken. Bij "Error" wordt het lastiger; je zit op dat moment al in een exceptie... Misschien met Error.Description, maar pin me d'r niet op vast. Dus zoiets:

Visual Basic:
1
Cells(lRow, 2) = "Error: " & Error.Description


Maar je mag ook best zelf een beetje je best doen, wat documentatie lezen en wat stoeien hoor ;) Het is hier niet de bedoeling dat we je aan je handje gaan houden.

Overigens, met zulke lage timeouts (500) heb je inderdaad meer kans op false positives; zet ze eens wat hoger en probeer het dan nog eens. Probeer bijvoorbeeld 1500 voor alle timeouts (ik roep maar wat).

[ Voor 34% gewijzigd door RobIII op 25-09-2008 18:11 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Refragmental
  • Registratie: Oktober 2000
  • Laatst online: 23-06 15:15
RobIII schreef op donderdag 25 september 2008 @ 18:08:
[...]

Dat zeg ik toch net?
Oh, wacht. Bij None kun je het StatusText property gebruiken. Bij "Error" wordt het lastiger; je zit op dat moment al in een exceptie... Misschien met Error.Description, maar pin me d'r niet op vast. Dus zoiets:

Visual Basic:
1
Cells(lRow, 2) = "Error: " & Error.Description


Maar je mag ook best zelf een beetje je best doen, wat documentatie lezen en wat stoeien hoor ;) Het is hier niet de bedoeling dat we je aan je handje gaan houden.
Mijn VB skills zijn een beetje niet bestaand. Ik kan het wel een beetje interpreteren, zelf herschrijven wordt wat lastiger... nieuwe functies erbij halen gaat me al helemaal niet lukken omdat ik simpelweg niet weet welke functies allemaal bestaan.
Ik heb thuis wel nog een heel oude boek van "VB in 21 dagen" liggen... maar om dat nou allemaal te leren :P

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
:? Dat hebben wij ook gemoeten...
Daarbij zijn die functies pri-ma te vinden op internet...

[ Voor 13% gewijzigd door RobIII op 25-09-2008 18:20 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Refragmental
  • Registratie: Oktober 2000
  • Laatst online: 23-06 15:15
RobIII schreef op donderdag 25 september 2008 @ 18:08:
[...]

Overigens, met zulke lage timeouts (500) heb je inderdaad meer kans op false positives; zet ze eens wat hoger en probeer het dan nog eens. Probeer bijvoorbeeld 1500 voor alle timeouts (ik roep maar wat).
Dat lijkt inderdaad te werken.
Ik heb in excel nu een 3tal sheets.


De eerste met een hele lage timeout (500) met ALLE ip's.
Tweede sheet heeft alle error ip's uit de eerste sheet, macro wordt opnieuw gedraaid met een hogere timeout (1500)
Derde sheet heeft alle error ip's uit de tweede sheet, macro wordt opnieuw gedraaid met een nog hogere timeout (5000)

Dit lijkt echt alles af te vangen.
Zelfs met 1500 ipv 500 vindt ie nu wel sites waar ie eerst error gaf.
Pagina: 1