Mac-osoite

Pekka P

Saako VB:lla tehtyä ohjelmaa joka ilmoittaa koneen mac-osoitteen?

6

641

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • kysymys.

      >Saako VB:lla tehtyä ohjelmaa...

      Kaikilla kielillä voi tehdä sen mitä kyseisen koneen prosessori osaa konekielellä. Toisilla tietyt asiat vaan on helpommin toteutettavissa kuin toisilla mutta kaikilla mahdollista.

      Mielenkiintoista on se mihin tarvitset ohjelmaa joka "ilmoittaa mac-osoitteen" vai aiotko rakentaa oman verkkoprotokollan kun tuo TCP/IP on jotenkin "köykäinen" ?

      • Pekka P

        Minkähänlaisella koodilla tuo sitten tapahtuu, jos kerran on mahdollista.

        Tarkoituksena on vain tunnistaa kone jossa ohjelmaa käytetään. Mac-osoitteenhan tosin saa muutettua, joten se ei ole täysin varma keino. Mitä muita tapoja tunnistamiseen on olemassa.


      • kysymys.
        Pekka P kirjoitti:

        Minkähänlaisella koodilla tuo sitten tapahtuu, jos kerran on mahdollista.

        Tarkoituksena on vain tunnistaa kone jossa ohjelmaa käytetään. Mac-osoitteenhan tosin saa muutettua, joten se ei ole täysin varma keino. Mitä muita tapoja tunnistamiseen on olemassa.

        VB osaamiseni on kovin ohutta mutta helpoin tapa lienee ajaa käyttöjärjestelmän komento:

        arp -a>macit.txt

        niin se listaa viimeaikaisten yhteyksien macit ja niitä vastaavat IP:t tiedostoon macit.txt.

        Kaikkea voi tietysti tehdä harrastuksen vuoksi mutta nykyaikaisissa palomuureissa tuo on vakio-ominaisuus että liikenne voidaan rajoittaa tiettyihin mac-osoitteisiin. Hyvänä esimerkkinä käy vaikkapa Linuxin iptables.


      • Pekka P
        kysymys. kirjoitti:

        VB osaamiseni on kovin ohutta mutta helpoin tapa lienee ajaa käyttöjärjestelmän komento:

        arp -a>macit.txt

        niin se listaa viimeaikaisten yhteyksien macit ja niitä vastaavat IP:t tiedostoon macit.txt.

        Kaikkea voi tietysti tehdä harrastuksen vuoksi mutta nykyaikaisissa palomuureissa tuo on vakio-ominaisuus että liikenne voidaan rajoittaa tiettyihin mac-osoitteisiin. Hyvänä esimerkkinä käy vaikkapa Linuxin iptables.

        Taitaa olla minulla vielä ohuempaa, mutta ei vielä auennut tuo homma. Oisko tällaselle puupäälle ihan koodintynkää tarjolla.


      • kysymys.
        Pekka P kirjoitti:

        Taitaa olla minulla vielä ohuempaa, mutta ei vielä auennut tuo homma. Oisko tällaselle puupäälle ihan koodintynkää tarjolla.

        >...koodintynkää tarjolla.

        Eipä tunnu olevan vb-osaajia liikkeellä ja itse en viitsi sillä ruveta koodia vääntämään kun ei kyvyt riitä eikä toisaalta ole windowsia millä kokeilisi.

        Tuolta löytyy yksinkertainen esimerkki GetIpNetTable()-funktion käytöstä. Se on näköjään arp-komentoa matkiva WinAPI-funktio.

        http://www.mentalis.org/apilist/GetIpNetTable.shtml


      • jokukolmas
        Pekka P kirjoitti:

        Taitaa olla minulla vielä ohuempaa, mutta ei vielä auennut tuo homma. Oisko tällaselle puupäälle ihan koodintynkää tarjolla.

        Varmaan on tähän fiksumpikin konsti, löysinkin sellaisen netistä. Hyödynsi iphlpapi.dll:a.
        Mutta voi sen tehdä näinkin.

        Tee kovalevylle tiedosto, vaikkapa nimelle ipcfg.bat.
        Kirjoita siihen yksi rivi:
        C:\Windows\System32\ipconfig.exe /all > c:\ipcfg.txt

        tai mistä hakemistosta tuo ohjelma ipconfig.exe nyt löytyykään.

        Ja noin komennettuna, se kirjoittaa tuloksen tiedostoon ipcfg.txt, jota voi sitten VB:ssa lukea. Ja VB:ssa tuo ipcfg.bat ensin suoritetaan Shell-funktiolla.

        Tässä VB-koodi:
        'suoritetaan .bat komentotiedosto
        Shell ("C:\ipcfg.bat")

        'odotetaan, jotta tiedosto on valmis luettavaksi
        Dim PauseTime, Start
        PauseTime = 1 'paussin pituus sekuntia
        Start = Timer
        Do While Timer < Start PauseTime
        DoEvents
        Loop

        Dim a As Integer
        Dim rivi As String
        Dim mac_osoite As String

        'luetaan tiedosto:
        Open "C:\ipcfg.txt" For Input As #1
        Do While Not EOF(1)
        Line Input #1, rivi
        If InStr(1, rivi, "Physical Address", 1) Then
        a = InStr(1, rivi, ":", 1) 2
        mac_osoite = Mid(rivi, a, Len(rivi) - a 1)
        End If
        Loop
        Close #1

        Print mac_osoite


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Nurmossa kuoli 2 Lasta..

      Autokolarissa. Näin kertovat iltapäivälehdet juuri nyt. 22.11. Ja aina ennen Joulua näitä tulee. . .
      Seinäjoki
      136
      7549
    2. Joel Harkimo seuraa Martina Aitolehden jalanjälkiä!

      Oho, aikamoinen yllätys, että Joel Jolle Harkimo on lähtenyt Iholla-ohjelmaan. Tässähän hän seuraa mm. Martina Aitolehde
      Suomalaiset julkkikset
      36
      1833
    3. Kaksi lasta kuoli kolarissa Seinäjoella. Tutkitaan rikoksena

      Henkilöautossa matkustaneet kaksi lasta ovat kuolleet kolarissa Seinäjoella. Kolmas lapsi on vakasti loukkaantunut ja
      Maailman menoa
      25
      1830
    4. Miten meinasit

      Suhtautua minuun kun taas kohdataan?
      Ikävä
      91
      1593
    5. Miksi pankkitunnuksilla kaikkialle

      Miksi rahaliikenteen palveluiden tunnukset vaaditaan miltei kaikkeen yleiseen asiointiin Suomessa? Kenen etu on se, että
      Maailman menoa
      179
      1515
    6. Tunnekylmä olet

      En ole tyytyväinen käytökseesi et osannut kommunikoida. Se on huono piirre ihmisessä että ei osaa katua aiheuttamaansa p
      Ikävä
      104
      958
    7. Oletko miten

      Valmis läheisyyteen?
      Ikävä
      49
      890
    8. Odotathan nainen jälleenkohtaamistamme

      Tiedät tunteeni, ne eivät sammu johtuen ihanuudestasi. Haluan tuntea ihanan kehosi kosketuksen ja sen aikaansaamaan väri
      Ikävä
      28
      800
    9. Muistatko hänen

      Tuoksunsa? Saako se sinut syttymään? ❤️‍🔥
      Ikävä
      31
      749
    10. Mitä, kuka, hä .....

      Mikähän sota keskustassa on kun poliiseja on liikkeellä kuin vilkkilässä kissoja
      Kemi
      21
      709
    Aihe