Mac-osoite

Pekka P

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

6

710

    Vastaukset 6

    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. Miksi et halua kaivattusi

      kanssa suhteeseen? Onko jokin syy vaikka rakastat häntä?
      Ikävä
      121
      1094
    2. 65
      1003
    3. Carunan hinnat

      Yks proffa vauuttaa, ettei Caruna voi noin vain nostaa hintoja koska suomen laki kieltää, toinen proffa sanoo että Carun
      Maailman menoa
      93
      773
    4. Koetko vielä et

      Olen elämäsi rakkaus?
      Ikävä
      77
      743
    5. Joko uskallat.

      Huomenna nähdään.
      Ikävä
      41
      675
    6. Kunnan päätie ja sen lähialueet

      Arvon hyrynsalmelaiset. Tätä palstaa on näin Ukkohallan mökkiläisena ihan viihteellistä lukea. Milloin teitä ahdistaa la
      Hyrynsalmi
      36
      649
    7. Oletko tullut siihen

      Tulokseen ettet saa minua
      Ikävä
      67
      604
    8. Toimittajat ulkomailta saapuivat eilen vaskiviikoille

      Toimittajat lähtivät tutustumaan Lieksan yöelämään ja kultturitarjontaan. Kaikki yllättyivät kuinka aktiivista ja innoka
      Lieksa
      28
      576
    9. Mikä sun kaivatussa on se miksi ihastuit

      ja ikävöit? Eli se jokin asia, mikä aiheutti tunteen, että tuossa on sitä jotain? Meinasitko tehdä asialle jotain vai ka
      Ikävä
      22
      572
    10. Mitä luulet

      Mitä luulet kaivattusi ajattelevan sonusta? Onko jotain mitä haluaisit oikaista hänelle?
      Ikävä
      37
      498
    Aihe