Mac-osoite

Pekka P

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

6

710

    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. Medvedev: Suomi tuhoutuu ydinsodassa ensimmäisenä

      Venäjän ydinaseilla on lyhyin matka Suomeen, joten ydinsodassa Suomi tuhoutuu heti sodan alkuminuuteilla, muilla mailla
      Maailman menoa
      602
      2154
    2. Sinä. Just sinä.

      Palataan ajassa taaksepäin vuosi tai kaksi. Mitä tekisit toisin jos voisit?
      Ikävä
      108
      1088
    3. Hotellille löytyi ostaja....

      Tämän päivän Kainuun Sanomissa oli uutinen, että pesänhoitajan mukaan Hotelli Kainuu myydään ensiviikolla. Hieno homma,
      Kuhmo
      20
      1032
    4. Saana airola ja. muusikko spekulaatiota

      Saara airolan kirja muusikko mies. Oisko redrama tai lauri tähkä? Saana oli 13 v vuonna 2014 Tekoäly sanoo : tähkä Julki
      Yhteiskunta
      4
      897
    5. Onko se loukkaavaa

      Kun joka kerta tuijotan sun peppua. En mahda sille mitään, että se vangitsee katseeni. Pohdin vain että ei minusta ole k
      Ikävä
      101
      845
    6. Miten kuvaisit tunteitasi

      tällä hetkellä?
      Ikävä
      81
      802
    7. Onko kaivattusi seinäruusu?

      Kun hän saapuu paikalle, huomaako kukaan, vai kääntyvätkö päät? Onko se hyvä vai huono juttu? Oletko sinä huomattu vai
      Ikävä
      50
      749
    8. Jos saisit palata takaisin johonkin vuoteen

      Mikä vuosi se olisi? Ja mitä siinä hetkessä tapahtuisi?
      Ikävä
      89
      742
    9. Tiedätkö kaivattusi musiikkimaun?

      Minkälaisesta musiikista hän pitää?
      Ikävä
      63
      725
    10. Moi, olen Lampunhenki

      Kerro toivomuksesi🏺
      Ikävä
      65
      563
    Aihe