Toto je vyrovnávacia pamäť Google pre http://wiki.cnl.tuke.sk/QoSProjekt/SystemPrirucka. Je to snímka stránky, ako sa zobrazila dňa 21. mar. 2009 13:28:06 GMT. Aktuálna stránka sa odvtedy mohla zmeniť. Viac informácií

Len textová verzia
 
SystemPrirucka < QoSProjekt < TWiki
r6 - 14 Oct 2007 - 16:17:35 - IvanaKsenicovaYou are here: TWiki >  QoSProjekt Web  >  LanMonitor > ImpleMentacia > SystemPrirucka

Funkcia programu


Funkciou programu je monitorovať zmeny v ARP tabuľke v malých LAN sieťach, t.j. v sieťach s jedným smerovačom (router). ARP tabuľka sa načítava každých 20 sekúnd. Obsah vstupného súboru sa získava prostredníctvom príkazu arp -n. Obsah vstupného súboru sa spracuje a potrebné údaje sa zapisujú do výstupného súboru a zároveň sa generuje HTML stránka.

Analýza programu


Program prostredníctvom príkazu arp -n získava obsah ARP tabuľky a ten presmeruváva do vstupného súboru arp_vstup.txt. Dáta zo vstupného súboru sú ďalej spracovávané. Potrebné údaje sa načítajú do štruktúry a z nej sa prostredníctvom funkcií vypíšu do textového a html súboru. Tento proces sa opakuje každých 20 sekúnd.

Popis programu

Popis riešenia

Program prostredníctvom príkazu arp -n získava obsah ARP tabuľky a ten presmeruváva do vstupného súboru arp_vstup.txt. Dáta zo vstupného súboru sú spracovávané. Do štruktúry sa načítavajú IP adesy, k nim prislúchajúce MAC adresy a rozhrania (interfaces). Vo výstupnom súbore sú v riadkoch vypísané IP adresy, k nim prislúchajúce rozhrania a MAC adresy. S takýmto obsahom sa generuje aj html stránka. Údaje su však zapísané do tabuľky. Získavanie obsahu ARP tabuľky, jeho následné spracovanie a výpis do súborov sa opakuje každých 20 sekúnd.

Popis údajových štruktúr, globálnych premenných

V programe je použitá štruktúra arp_struct. Zo vstupného súboru sú do tejto štruktúry načítavané potrebné informácie.
 typedef struct{
  char IP[16];
  char interface[5];
  char MAC[100][18];
  int mac_count;
} arp_struct;
Globálne premenné:
arp_struct arp[200];
int arp_count=0;
int fin;
int fout;
int fhtml;

Popis funkcií

Hlavná funkcia programu:
  int main()
  {_telo programu_}
Funkcia na výpis IP adries do textového súboru:
  void ipcka(int w) 
  {_telo funkcie_} 
Funkcia na výpis IP adries do html súboru:
  void ipcka2(int w) 
  {_telo funkcie_} 
Funkcia na výpis MAC adries do textového súboru:
  void macadr(int w, int t)
  {_telo funkcie_}
Funkcia na výpis MAC adries do html súboru:
  void macadr(int w, int t)
  {_telo funkcie_}
Funkcia na výpis rozhraní do textového súboru:
  void inf(int w)
  {_telo funkcie_}
Funkcia na výpis rozhraní do html súboru:
  void inf2(int w)
  {_telo funkcie_}
Funkcia na načítanie IP adries, MAC adries a rozhraní:
  void read_struct()
  {_telo funkcie_}
Funkcia, ktorá prostredníctvom príkazu arp -n získa obsah ARP tabuľky a presmeruje ho do vstupného súboru:
  system("arp -n > arp_vstup.txt");
  

Hierarchia funkcií

funkcie.JPG

Popis vstupných a výstupných súborov

arp_vstup.txt
Do tohto súboru je presmerovaný obsah ARP tabuľky. Údaje z tohoto vstupného súboru su ďalej spracovávané. Obsah súboru môže vyzerať následovne:

arp_vystup.txt
Do tohto súboru sa vypisujú IP adresy a k nim prislúchajúce MAC adresy a rozhrania.
Napr.:

198.163.10.5 eth0 00:15:AB:2E:A5:14
148.156.20.9 eth0 00:51:AC:2E:AC:17

arp_vystup.html
Do tohto súboru sa vypisujú IP adresy a k nim prislúchajúce MAC adresy a rozhrania. Údaje sú vypísané do tabuľky.
Napr.:

192.168.1.17	ra0	00:14:BF:D2:7A:C9
192.168.0.2	eth0	00:14:BF:EB:90:FD

Diagram objektov

diagram_objektov.jpg

Preklad programu

Zoznam zdrojových textov

arpmon.c
styly.csc

Vlastný preklad

Pod systémom UNIX je na preklad zdrojových textov možné použiť cc kompilátor. Zdrojový text programu je teda možné prekompilovať jedným z nasledujúcich spôsobov:

cc arpmon.c výsledkom je spustiteľný modul a.out
cc -o arpmon arpmon.c výsledkom je spustiteľný modul arpmon

Po skompilovaní programu sa program spúšťa v konzolovom okne. Napíše sa a.out alebo arpmon, podľa spôsobu kompilácie a stlačí sa Enter.
Program sa ukončí po stlačení: CTRL C.

-- IvanaKsenicova - 06 Apr 2007

toggleopenShow attachments (4)togglecloseHide attachments (4)
Topic attachments
I Attachment Action Size Date Who Comment
jpgjpg diagram.jpg manage 375.1 K 14 Oct 2007 - 15:39 IvanaKsenicova Diagram objektov
cc arpmon.c manage 4.7 K 14 Oct 2007 - 15:55 IvanaKsenicova zdrojovy kod
elsecss styly.css manage 0.1 K 14 Oct 2007 - 15:55 IvanaKsenicova styly
jpgJPG funkcie.JPG manage 10.9 K 14 Oct 2007 - 16:13 IvanaKsenicova hierarchia funkcii
Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r6 < r5 < r4 < r3 < r2 | More topic actions
 
Powered by TWiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback