Mac-osoite

Pekka P

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

6

625

    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. Tykkään sinusta tosi tosi paljon

      Siksi en pysty sisäistämään sitä, että se ei ole molemminpuolista. Sattuu liikaa. En osaa käsitellä sitä tunnetta, koska
      Ikävä
      51
      3467
    2. Mikä sai sut ihastumaan

      Mitä tapahtui?
      Ikävä
      156
      2099
    3. Kaupan kassalla kannataa olla kylmä käytös

      https://www.is.fi/taloussanomat/art-2000010488540.html "19-vuotias Minja ja 59-vuotias Anne työskentelevät sillä todelli
      Sinkut
      204
      1791
    4. Mitä tehdä asialle?

      Jos laitan deitti-ilmon "40-vuotias nainen etsii seuraa" niin ketään ei kiinnosta (korkeintaan paria runkkaripenaa joill
      Sinkut
      135
      1699
    5. 80
      1165
    6. Hyvää heinäkuuta

      Hyvää huomenta ihanaa. 🦗🌾☔🤗🌻❤️
      Ikävä
      234
      1104
    7. Mitä helvettiä pakolaisille pitäisi tehdä RAJALLA?

      Jos Venäjä työntää rajalle pakolaisia ja tekee Suomelle selväksi että heidän puolelleen ei ole pakolaisilla asiaa - mitä
      Maailman menoa
      273
      1045
    8. Ethän syytä itseäsi

      siitä miten asia menivät. Mä en antanut sulle tilaisuutta.
      Ikävä
      130
      999
    9. Olen pahoillani mies

      Olen surullinen puolestasi, ettet saanut kaipaamaasi naista. Yrititkö lopulta edes? Teistä olisi tullut hyvä pari
      Ikävä
      52
      929
    10. Olet mies varmasti peto

      Makkarin puolella. 🤤
      Ikävä
      72
      895
    Aihe