Hoe een ip (broadcast) adres naar hexadecimaal?

Pagina: 1
Acties:
  • 420 views sinds 30-01-2008
  • Reageer

  • Mr_Blobby
  • Registratie: Mei 2000
  • Laatst online: 13-09 12:53
Ik probeer een Delphi programmaatje aan te passen zodat deze niet naar het standaard 255.255.255.255 = $FFFFFFFF broadcast adres een pakketje verstuurd, maar naar een willekeurig ander ip (broadcast) adres.

Probleem: ik ben alleen vertrouwd met "leesbare" ip adressen, zoals 155.162.61.3.
Hoe vertaal ik deze naar een hexadecimaal adres?

Help!

en zij zagen niet hoe spot in mij worstelde met verdriet


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Per getal omzetten naar hex (IntToHex?) en dan alles achter elkaar plakken. Misschien werkt het zo? :)

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Mr_Blobby
  • Registratie: Mei 2000
  • Laatst online: 13-09 12:53
Nee, geprobeerd en niet gelukt.

Nog iemand een idee?

en zij zagen niet hoe spot in mij worstelde met verdriet


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 17:51

Creepy

Tactical Espionage Splatterer

$FFFFFFFF is 255.255.255.255 maar dan per 8 bits omgezet naar hex

255 decimaal = FF hexadecimaal
code:
1
192.168.0.13 = 13 or (0 shl 8) or (168 shl 16) + (192 shl 32)

shl = bitsgewijs schuiven naar links. Kan je ook bereiken door te vermenigvuldigen.
code:
1
192.168.0.13 = 13 or (0 *256) or (168 *65536) + (192 * <een waarde die ik niet uit mijn hoofd weet>)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Op dinsdag 13 november 2001 16:38 schreef Creepy het volgende:
knip
die laatste moet 24 bits verschoven worden, niet 32, dus 192 shl 24 = 192 * 16777216

  • Bergen
  • Registratie: Maart 2001
  • Laatst online: 08-09 08:43

Bergen

Spellingscontroleur

Tip: Leer ff hoe binair en hexadecimaal rekenen werkt ;) Dat was geen grapje, dat meende ik.

Redenen om dat ff te leren:
. Het is leuk/interessant om te weten
. Je kunt je eigen convertertje maken (whoooo moeilijk)
. Je snapt beter hoe dingen in je pc werken
. Later heb je er vast ook nog wel es wat aan

Ohja, als je klaar bent, leer dan ook nog ff octaal rekenen :)

  • Mr_Blobby
  • Registratie: Mei 2000
  • Laatst online: 13-09 12:53
Op woensdag 14 november 2001 02:37 schreef GerbenW het volgende:
Tip: Leer ff hoe binair en hexadecimaal rekenen werkt ;) Dat was geen grapje, dat meende ik.

Redenen om dat ff te leren:
. Het is leuk/interessant om te weten
. Je kunt je eigen convertertje maken (whoooo moeilijk)
. Je snapt beter hoe dingen in je pc werken
. Later heb je er vast ook nog wel es wat aan

Ohja, als je klaar bent, leer dan ook nog ff octaal rekenen :)
Ik heb dit ooit geleerd, maar is weggezakt omdat ik het nooit in de praktijk hoefde te brengen.

Eigenlijk is mijn vraag:
Hoe moet ik een hexadecimaal ip-adres invullen voor een Winsocket? Of eigenlijk:
Hoe converteer ik de 4 octetjes naar een hexadecimaal ip-adres? :?

en zij zagen niet hoe spot in mij worstelde met verdriet


  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
Op woensdag 14 november 2001 12:25 schreef Mr_Blobby het volgende:
Hoe moet ik een hexadecimaal ip-adres invullen voor een Winsocket? Of eigenlijk:
Hoe converteer ik de 4 octetjes naar een hexadecimaal ip-adres? :?
zoals uitgelegd door Creepy, maar dan de laatste shl 24 ipv 32, en dan IntToHex, zoals jelmervos zei. heb je de reakties eigenlijk wel doorgelezen? |:(

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 16-09 23:17

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op dinsdag 13 november 2001 16:38 schreef Creepy het volgende:
$FFFFFFFF is 255.255.255.255 maar dan per 8 bits omgezet naar hex

255 decimaal = FF hexadecimaal
[..]
shl = bitsgewijs schuiven naar links. Kan je ook bereiken door te vermenigvuldigen.
[..]
je vergeet alleen dat ip addressen big-endian zijn, terwijl je op een little-endian systeem werkt... Je moet het dus omdraaien (waarom gebruik je trouwens eerst 2 or's en dan een + ?)
code:
1
192.168.0.13 = 192 or (168 shl 8) or (0 shl 16) or (13 shl 24)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 16-09 23:17

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op dinsdag 13 november 2001 16:07 schreef jelmervos het volgende:
Per getal omzetten naar hex (IntToHex?) en dan alles achter elkaar plakken. Misschien werkt het zo? :)
ja maar dan zit je met een string, en ik neem aan dat de topicstarter een getal wilt hebben... Tenzij ie dat ip adres wilt hardcoden, dus dan moet ie het eerst met de hand omzetten naar die string, en dat vervolgens in z'n programmaatje zetten :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 17:51

Creepy

Tactical Espionage Splatterer

Op dinsdag 13 november 2001 16:45 schreef marcusk het volgende:

[..]

die laatste moet 24 bits verschoven worden, niet 32, dus 192 shl 24 = 192 * 16777216
oops! :) Was nog niet echt wakker geloof ik

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 17:51

Creepy

Tactical Espionage Splatterer

Op woensdag 14 november 2001 13:10 schreef OiSyN het volgende:

[..]

je vergeet alleen dat ip addressen big-endian zijn, terwijl je op een little-endian systeem werkt... Je moet het dus omdraaien (waarom gebruik je trouwens eerst 2 or's en dan een + ?)
code:
1
192.168.0.13 = 192 or (168 shl 8) or (0 shl 16) or (13 shl 24)
hmm die + had ook een or moeten zijn. Zoals al gezegt. was niet helemaal wakker :z

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 16-09 23:17

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op woensdag 14 november 2001 12:25 schreef Mr_Blobby het volgende:

[..]

Hoe moet ik een hexadecimaal ip-adres invullen voor een Winsocket? Of eigenlijk:
Hoe converteer ik de 4 octetjes naar een hexadecimaal ip-adres? :?
Ik ben niet bekend met de libraries van Delphi, maar is daar geen opzoekfunctie voor? Waarmee je ook het juiste ip-adres bij een naam-adres vindt.

Zoiets als gethostbyname ("www.tweakers.net")

Meestal kun je zo'n functie ook een leesbaar ip voeren in een string, die die dan omzet naar een waarde die jij kunt gebruiken

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Mr_Blobby
  • Registratie: Mei 2000
  • Laatst online: 13-09 12:53
Op woensdag 14 november 2001 13:10 schreef OiSyN het volgende:

[..]

je vergeet alleen dat ip addressen big-endian zijn, terwijl je op een little-endian systeem werkt... Je moet het dus omdraaien (waarom gebruik je trouwens eerst 2 or's en dan een + ?)
Het werkt! Maar zonder om te draaien!
Bedankt allemaal! :)

en zij zagen niet hoe spot in mij worstelde met verdriet


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 17:51

Creepy

Tactical Espionage Splatterer

Dan was ik toch wakkerder dan dat ik dacht :)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1