Mac-osoite

Pekka P

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

6

681

    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. Vain vasemmistolaiset rakennemuutokset pelastavat Suomen

      Kansaa on ankeutettu viimeiset 30+ vuotta porvarillisella minäminä-talouspolitiikalla, jossa tavalliselta kansalta on ot
      Maailman menoa
      24
      3409
    2. Persut huutaa taas: "kato! muslimi!"

      Persut on lyhyessä ajassa ajaneet läpi kaksi työntekijöiden oikeuksien heikennystä, joita se on aiemmin vastustanut. Pe
      Maailman menoa
      13
      2828
    3. Menen nyt koisimaan

      Ja en ehkä palaa tänne. Asia on nyt loppuunkäsitelty ja totuus tuli ilmi
      Ikävä
      28
      2504
    4. Olisiko sinulla

      Jonossa vaihtoehtoja, ehkä
      Ikävä
      42
      1917
    5. Pieni galluppi

      Mitäs lahjaa odotat joulupukilta.
      Ikävä
      51
      1749
    6. Haluaisin rakastaa sinua

      Ja olla sinulle se oikea... Rakastan sinua 💗💗💗
      Ikävä
      14
      1691
    7. onko kaivattusi

      vaarallinen? :D
      Ikävä
      43
      1584
    8. KL: Mari Hynynen avoimena - Jouni-rakkaan ja Joel-pojan välit ovat nämä!

      Mari Hynynen (ent. Perankoski) on naimisissa Jouni Hynysen kanssa. Marilla on edellisestä liitosta yksi lapsi, Joel Vola
      Suomalaiset julkkikset
      10
      1458
    9. Oletko uhriutuja?

      vaikka itse olet rääkännyt toista ja aiheuttanut ties mitä toiselle.
      Tunteet
      54
      1424
    10. Missikohu edustaa nykyajan monimuotoisuutta

      Puolesta vai vastaan, saako esittää pilkkaavasti jonkun toisen ihmisen syntyperäisiä ominaisuuksia? Kadulla vastaan tule
      Sinkut
      263
      1151
    Aihe