Generovanie packetov...

Programovacie jazyky, rady, poradňa...
Forsaken
King
King
Používateľov profilový obrázok
Príspevky: 1918
Registrovaný: 14 mar 2010, 0:39

Generovanie packetov...

Príspevok od používateľa Forsaken »

zdravim

mam vygenerovat sietovy packet...


ako by ste to robili??

vieme ze sietovy paket je nieco taketo

00 04 76 13 97 df 00 00 c0 d7 80 c2 08 00 45 00 00 30 0c 12 40 00 80 06...

postupnost HEXa cisel, z toho prvych 6 je to druhych 6 je to atd...

otazka znie ako vytvorit takyto paket??

tieto hexa cisla mam zapisat do suboru a vznikne paket alebo ako ho vytvorim? ako vytvorim paket?
sorry za lamersku otazku....
pipiak
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 321
Registrovaný: 11 jún 2006, 9:24
Bydlisko: KE
Kontaktovať používateľa:

Re: Generovanie packetov...

Príspevok od používateľa pipiak »

v c# je na to hotova trieda, neviem v akom jazyku to chces urobit
Forsaken
King
King
Používateľov profilový obrázok
Príspevky: 1918
Registrovaný: 14 mar 2010, 0:39

Re: Generovanie packetov...

Príspevok od používateľa Forsaken »

otazka je co to ten Packet vobec je?

robim to v C++


a ja pytam ze akym sposobom (akym formatom) mam ulozit postupnost hexadecimalnych cisel aby v konecnom dosledku tato postupnost tvorila standardny/pouzitelny packet, ktory bude mozne poslat dalej, alebo analyzovat bez prenosu sietou.

Dakejm za odpoved.
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: Generovanie packetov...

Príspevok od používateľa c-ice »

http://www.security-freak.net/packet-in ... ction.html
hned prve video ... inak si si mohol pozret co ti napriklad vypluje wireshark ked odchytavaš packety a on ti aj znazornuje ktora cast predstavuje ktoru cast v HEXe
Forsaken
King
King
Používateľov profilový obrázok
Príspevky: 1918
Registrovaný: 14 mar 2010, 0:39

Re: Generovanie packetov...

Príspevok od používateľa Forsaken »

sa nechapeme asi ...

ja nepotrebujem vediet ktore hexadecimalne cislo co znamena...

potrebujem vediet ako z

33 33 00 01 00 02 00 1b 24 91 ed 87 86 dd 60 00
00 00 00 40 11 01 fe 80 00 00 00 00 00 00 04 8b
03 db 68 b0 96 11 ff 02 00 00 00 00 00 00 00 00
00 00 00 01 00 02 02 22 02 23 00 40 f9 2f 0b e6
05 b2 00 08 00 02 00 20 00 01 00 0e 00 01 00 01
0e 85 e7 08 00 1b 24 91 ed 87 00 10 00 0e 00 00
01 37 00 08 4d 53 46 54 20 35 2e 30 00 06 00 06
00 18 00 17 00 11

vytvorim REGULARNY packet.
PS to hore sa rovna tomuto:

DA: 33 33 00 01 00 02
SA: 00 1b 24 91 ed 87
Ethernet II, IPv6
Source IP: fe80:0000:0000:0000:048b:03db:68b0:9611
Dest IP: ff02:0000:0000:0000:0000:0000:0001:0002
UDP protocol
Source Port: 546
Dest Port: 547
...
a ja potrebujem vediet co mam spravit s tym HEX kodom - ci ho staci ulozit do suboru alebo ja neviem co, aby z toho vznikol REGULARNY packet.
a vobec nechcem nic odchytavat... ani nic podobne.
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: Generovanie packetov...

Príspevok od používateľa c-ice »

no tam si mal vysvetlene co to je packet ak si to pozrel cele tak si tam videl aj C Structury packetu...

skusal si sa to pytat googla ? lebo je to mrte vela materialov ...

takze ak to chapem spravne ty budes mat subor plny tamtoho Hexa blabolu a budes z toho vyrabat packet a posielat cez siet

http://stackoverflow.com/questions/7818 ... ckets-in-c

pod Windowsmi mas Winsock2 na siete tam to podla mna viac menej tiez dokazes

Potom mas moznost este Pcap resp. WinPCap
Forsaken
King
King
Používateľov profilový obrázok
Príspevky: 1918
Registrovaný: 14 mar 2010, 0:39

Re: Generovanie packetov...

Príspevok od používateľa Forsaken »

ty das do googla, skopirujes prvy link, a odpoved na moju otazku nikde... za taku pomoc "dakujem".

Otazka ostava, ako vytvorit a ulozit regularny packet?
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: Generovanie packetov...

Príspevok od používateľa c-ice »

pockaj vytiahnem Visual Studio a hned ti to nakodim lebo teraz vidim ze asi ocakvas odpoved hotovy program a najlepsie keby ti knemu dam aj Source :D ...

myslim ze ten link je dost relevantna odpoved na to co chceš ... tak ako ten predchadzajuci ...
dalej som ta nasmeroval kam sa mas kuknut ze mas kuknut na WinSock2 alebo na Pcap ...

Kód: Vybrať všetko

DA: 33 33 00 01 00 02
SA: 00 1b 24 91 ed 87
Ethernet II, IPv6
Source IP: fe80:0000:0000:0000:048b:03db:68b0:9611
Dest IP: ff02:0000:0000:0000:0000:0000:0001:0002
UDP protocol
Source Port: 546
Dest Port: 547 
tu presne vidis informacie ktore potrebuješ pre vytvorenie packetu jeho otvorenie odoslanie dat a jeho nasledne odoslanie...
ukazka winsock2 http://www.installsetupconfig.com/win32 ... 14_13.html
teraz ked sa pozres na HEX a toto tak vidis ze to je to iste ... vidis ze prvych 6HEX cisel = DA ... dalsich = SA ... dalsie predstavuju toto Ethernet II, IPv6 ... dalej tam mas IP ... a tak dalej proste to vyparsuješ a vyskladaš tak ako je v linku vysie ...

//edit: akoze ze ulozit :D vsak ho mas ulozeny v HEX a ty chceš odoslat co ine by si snim asi tak mohol robit ... tak bud chceš vytvorit najprv packet cez niečo a potom nad nim zavolat "toString()" a ho iba Ulozit ... alebo ho chceš vyskladat z HEX a odoslat ? a ukladanie nema vyznam
Forsaken
King
King
Používateľov profilový obrázok
Príspevky: 1918
Registrovaný: 14 mar 2010, 0:39

Re: Generovanie packetov...

Príspevok od používateľa Forsaken »

ja tomu celkom nerozumiem preto sa pytam.

chcem generovat packety podla poziadavky, napr, ipv6 ipv4, icmp, arp ....

viem ako tieto pakety vyzeraju... a preto ich viem vytvorit hex string.

a teraz chcem ten tie vytvorene pakety (hex string) ulozit do standardnej formy paketu aby som ich mohol neskor (na inom pc) analyzovat, pripadne posielat cez siet.

a neviem akym sposobom to mam spravit spravne tak aby to bol REGULARNY paket a nie subor s hexa cislami a aby som ich mohol otvorit v hocijakom paketovom analyzatore alebo
mohol zavolat funkciu """sendpacket(paket)""" ktora bude pracovat z kniznice WinPcap a posielat ich inde.
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: Generovanie packetov...

Príspevok od používateľa c-ice »

ani ja tomu nerozumiem iba sa pytam googla a nieco okolo viem :) ...

tak hej ked vies vygenerovat HEX tak ho staci ukladat do suboru suboru daj koncovku .cap a otvoris ho napr. vo wiresharku ktory Pcap pouziva
ked chceš vidiet ako taky subor vyzera odchyt par packetov cez wireshark a uloz si ich v nom (a otvor cez HexEditor alebo PSPad ktory ma hex editor)... ten Pcap ich vie citat potom zo suboru (to som vycital tu http://www.winpcap.org/docs/docs_412/ht ... tring.html) a mal by ich vediet ked ich nacita aj posielat... ma na to funkcie vytvorene ... ale nikdy som snim priamo nerobil iba som vyuzival programy ktore ho vyuzivaju

//edit: ten HEX nie ze tam budes ukladat cisla 00 33 11 a tak ale musis previest na znaky ... takze subor zapisuj binarne
Forsaken
King
King
Používateľov profilový obrázok
Príspevky: 1918
Registrovaný: 14 mar 2010, 0:39

Re: Generovanie packetov...

Príspevok od používateľa Forsaken »

0000 00 1a 73 a1 3a 16 00 22 75 5f 1c 18 08 00 45 00
0010 00 28 00 00 40 00 38 06 da 8e 51 5b 54 39 c0 a8
0020 02 05 00 50 c9 8b 38 0d db f6 35 50 95 b5 50 10
0030 00 47 9e 66 00 00


..s.:.." u_....E.
.([email protected]. ..Q[T9..
...P..8. ..5P..P.
.G.f..


ok wireshark ukazuje to co som chcel..

myslis ze mam ukladat aj to co je cervenym? to je vlaste generovane cislo riadku .
to co je zelenym je packet to je vlastne co chcem.

a ako dostanem to co je zltym lebo to nieje binarne ale ako to je kodovane? pripadne ako dostanem text na to kodovanie v C++ ?

//autoeditácia príspevku (04 Mar 2011, 14:28)
Takze novy problem:

z tohto:(toto ukazuje WS)
0000 00 22 75 5f 1c 18 00 1a 73 a1 3a 16 08 00 45 00
0010 00 28 2a 8b 40 00 80 06 6b b2 c0 a8 02 05 4a 7d
0020 57 68 ca e2 00 50 58 e7 1d ba 63 09 3b 8f 50 10
0030 10 92 5a 43 00 00

."u_.... s.:...E.
.(*.@... k.....J}
Wh...PX. ..c.;.P.
..ZC..


dostat na toto (toto ukazuje subor po otvoreni v txt)

Ôòˇ ˙˙ ęçpMOż 6 6 "u_ sˇ: E (*‹@ €k˛Ŕ¨J}WhĘâ PXçşc ;ŹP’ZC
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: Generovanie packetov...

Príspevok od používateľa c-ice »

no v C ked otvaras subor tak davas ze Mode jeho otvorenia ... R or W. R+ W+ RB WB ... tak to B znamena Binary ... v podstate to cislo 33Hex = 51Dec tak zapises ono ho tam zapise priamo takto a ty ho precitas cez HEX editor nejaky. napr. PSPad ma vsebe ... ide o to ze ty tam tie cisla nemozes priamo pisat ... alebo ked nie binary ... tak mozno pomocou formatovania .. tu si to mozes pozret fromatovanie http://people.tuke.sk/igor.podlubny/C/Kap6.htm a pracu zo subormi http://people.tuke.sk/igor.podlubny/C/Kap8.htm
Forsaken
King
King
Používateľov profilový obrázok
Príspevky: 1918
Registrovaný: 14 mar 2010, 0:39

Re: Generovanie packetov...

Príspevok od používateľa Forsaken »

no po dlhsom badani :D si nemyslim ze je to binarny zapis ani nic podobne...

takze otazka ostava ako z

Kód: Vybrať všetko

  00 1a 73 a1 3a 16 00 22  75 5f 1c 18 08 00 45 00   
  00 28 8e 10 40 00 6d 06  5f 45 40 0c 1d c1 c0 a8  
  02 05 14 46 c0 17 50 41  6e 62 eb fd a7 a6 50 14   
  40 00 28 b0 00 00       
dostat

Kód: Vybrať všetko

..s.:.." u_....E.
.([email protected]. _E@.....
...F..PA nb....P.
@.(...
             
alebo rovno

Kód: Vybrať všetko

Ôòˇ          ˙˙     ęçpMOż 6   6    "u_ sˇ: E  (*‹@ €k˛Ŕ¨J}WhĘâ PXçşc	;ŹP’ZC  
pretoze toto posledne potrebujem dostat.
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: Generovanie packetov...

Príspevok od používateľa c-ice »

Forsaken napísal:no po dlhsom badani :D si nemyslim ze je to binarny zapis ani nic podobne...
netvrdil som ze je to binarny zapis to by tam boli jednotky a nuly tvrdim ze ten subor bol zapisany binarne ... alebo s formátovany dal som ti linky pravdepodobne si moc necital co sa vnich uvadza a ak to funguje ... na ukazku ti spravim function C++ ktora z tamtoho HEX ti spravi tam ten text ... do suboru napr... aj ked podla mna by bolo jednoduchsie generovat packet v desiatkovej sustave ... ale nevadi...

len sa musi doinstalovat VS10
//edit:vidim ze uz to spravil paralen v C presne tak som to myslel ak chceš pomocou streamov tak sa na to kuknem
paralen
Light Star
Light Star
Príspevky: 267
Registrovaný: 02 máj 2006, 15:15

Re: Generovanie packetov...

Príspevok od používateľa paralen »

V Cecku by som to ulozil tak nejak

Kód: Vybrať všetko

#include <stdio.h>

int main(){
    FILE *f1;
    FILE *f2;
    
    f1 = fopen("paket.txt", "r");
    f2 = fopen("paket", "wb");
    
    int cislo;
    while (fscanf(f1,"%x ",&cislo) != EOF){
        fwrite(&cislo, sizeof(cislo)/4, 1 ,f2);
    }  
    
    fclose(f1);
    fclose(f2);
    
}
Forsaken
King
King
Používateľov profilový obrázok
Príspevky: 1918
Registrovaný: 14 mar 2010, 0:39

Re: Generovanie packetov...

Príspevok od používateľa Forsaken »

zdravim Paralen ...

je tam este nejaka ina moznost ako to ulozit?

pretoze to vygeneruje nejaku postupnost no nezhoduje sa.

//autoeditácia príspevku (04 Mar 2011, 23:29)
upresnim to:

majme S-MAC: ff ff ff ff ff ff

s paralenovym programom to vyhodi: ˙˙˙˙˙˙

= zhoda s wiresharkom

lenze ked exportujem cely packet.. nielen smac

tj:

0000 ff ff ff ff ff ff 00 1a 73 a1 3a 16 08 06 00 01
0010 08 00 06 04 00 01 00 1a 73 a1 3a 16 c0 a8 02 05
0020 00 00 00 00 00 00 c0 a8 02 01

Wireshark ukaze

........ s.:.....
........ s.:.....
........ ..

= zhoda s wiresharkom

potrebujem dostat ale nieco ine... neda sa to sem skopirovat. nezhoduje sa to. ked ulozim packet vo wiresharku do suboru. a ked to prejdem tvojim programom
//este skusim vlozit to tam 2x

ok takze nefunguje to spravne... pri FF FF FF FF FF FF to slo... inak to nejde... neviem preco akoby to nevedelo nacitat cely retazec.
paralen
Light Star
Light Star
Príspevky: 267
Registrovaný: 02 máj 2006, 15:15

Re: Generovanie packetov...

Príspevok od používateľa paralen »

No to bude tym, ze ked das vo wiresharku ulozit paket (File/Save as/napr. wireshark pcap) tak ten format obsahuje aj hlavicku
Pochopil som dobre?
Forsaken
King
King
Používateľov profilový obrázok
Príspevky: 1918
Registrovaný: 14 mar 2010, 0:39

Re: Generovanie packetov...

Príspevok od používateľa Forsaken »

ok a teda ako tam tu hlavicku pridat?
paralen
Light Star
Light Star
Príspevky: 267
Registrovaný: 02 máj 2006, 15:15

Re: Generovanie packetov...

Príspevok od používateľa paralen »

Budes postupovat podla toho linku co som dal vyssie :) Cize pridas tam tu strukturu (ak nerobis v unixe tak tie guint16 a guint32(kniznica glib) zmenis na :

Kód: Vybrať všetko

typedef struct pcap_hdr_s {
        int magic_number;   /* magic number */
        int16_t version_major;  /* major version number */
        int16_t version_minor;  /* minor version number */
        int  thiszone;       /* GMT to local correction */
        int sigfigs;        /* accuracy of timestamps */
        int snaplen;        /* max length of captured packets, in octets */
        int network;        /* data link type */
} pcap_hdr_t;
Vyplnis kazdy jeden zaznam tejto strktury, napr.

Kód: Vybrať všetko

pcap_hdr_t hlavicka;
hlavicka.magic_number = 0xd4c3b2a1;
hlavicka.version_major = 2;
hlavicka.version_minor = 4;
hlavicka.thiszone = 0;
hlavicka.sigfigs =0;
hlavicka.snaplen = 0xFFFF;
hlavicka.network = 1; 
Zapises to do toho suboru

Kód: Vybrať všetko

fwrite(&hlavicka, sizeof(pcap_hdr_t), 1 ,f2);
a nakoniec doplnis svoje hexa data...
Forsaken
King
King
Používateľov profilový obrázok
Príspevky: 1918
Registrovaný: 14 mar 2010, 0:39

Re: Generovanie packetov...

Príspevok od používateľa Forsaken »

ok diky...

spravim to a pastnem to tu... lebo to urcite nepojde... zatial dobru noc.


//autoeditácia príspevku (05 Mar 2011, 16:08)
btw

magic_number: used to detect the file format itself and the byte ordering. The writing application writes 0xa1b2c3d4 with it's native byte ordering format into this field. The reading application will read either 0xa1b2c3d4 (identical) or 0xd4c3b2a1 (swapped). If the reading application reads the swapped 0xd4c3b2a1 value, it knows that all the following fields will have to be swapped too.

dal som tam to writing co nato vravite?

//autoeditácia príspevku (05 Mar 2011, 16:13)
_____________________________________________________

takze takto: zaciatok ide dobre... ale potom sa to posere...

kde moze byt chyba?
Prílohy
Untitled.jpg
Napísať odpoveď