Wireshark for Nokia LCD

Dependencies:   NokiaLCD mbed

Fork of Wireshark by Alvin McNair

Committer:
ichoudhury6
Date:
Fri Mar 01 20:03:47 2013 +0000
Revision:
1:c0d6b1d426e8
Parent:
0:126d1599825c
Working on Wireshark program for Nokia LCD;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
westsand 0:126d1599825c 1 #include "mbed.h"
westsand 0:126d1599825c 2 #include <string>
ichoudhury6 1:c0d6b1d426e8 3 #include "NokiaLCD.h"
ichoudhury6 1:c0d6b1d426e8 4
ichoudhury6 1:c0d6b1d426e8 5 NokiaLCD lcd(p5, p7, p8, p9, NokiaLCD::LCD6610); // mosi, sclk, cs, rst, type
ichoudhury6 1:c0d6b1d426e8 6
ichoudhury6 1:c0d6b1d426e8 7
westsand 0:126d1599825c 8 DigitalOut myled(LED1);
westsand 0:126d1599825c 9
westsand 0:126d1599825c 10 Ethernet eth;
westsand 0:126d1599825c 11
westsand 0:126d1599825c 12 string Protocol(int num){
westsand 0:126d1599825c 13 string s;
westsand 0:126d1599825c 14 switch(num){
westsand 0:126d1599825c 15 case 17 :
westsand 0:126d1599825c 16 s="UDP";
westsand 0:126d1599825c 17 break;
westsand 0:126d1599825c 18 case 1 :
westsand 0:126d1599825c 19 s="ICMP";
westsand 0:126d1599825c 20 break;
westsand 0:126d1599825c 21 case 6 :
westsand 0:126d1599825c 22 s="TCP";
westsand 0:126d1599825c 23 break;
westsand 0:126d1599825c 24 case 89 :
westsand 0:126d1599825c 25 s="OSPF";
westsand 0:126d1599825c 26 break;
westsand 0:126d1599825c 27 case 2 :
westsand 0:126d1599825c 28 s="IGMP";
westsand 0:126d1599825c 29 break;
westsand 0:126d1599825c 30 case 103 :
westsand 0:126d1599825c 31 s="PIM";
westsand 0:126d1599825c 32 break;
westsand 0:126d1599825c 33 default :
westsand 0:126d1599825c 34 s="None";
westsand 0:126d1599825c 35 }
westsand 0:126d1599825c 36
westsand 0:126d1599825c 37
westsand 0:126d1599825c 38
westsand 0:126d1599825c 39 return s;
westsand 0:126d1599825c 40
westsand 0:126d1599825c 41 }
westsand 0:126d1599825c 42
westsand 0:126d1599825c 43 int main() {
westsand 0:126d1599825c 44 int number=0;
westsand 0:126d1599825c 45 int type;
westsand 0:126d1599825c 46 char ver, prot;
westsand 0:126d1599825c 47 char hlen;
westsand 0:126d1599825c 48 char servtype;
westsand 0:126d1599825c 49 short tot_len,ident;
westsand 0:126d1599825c 50 string k;
westsand 0:126d1599825c 51 myled=1;
ichoudhury6 1:c0d6b1d426e8 52 int loc = 1;
westsand 0:126d1599825c 53 char buf[0x600];
westsand 0:126d1599825c 54
westsand 0:126d1599825c 55 int* length=(int *)(buf+12);
westsand 0:126d1599825c 56
westsand 0:126d1599825c 57 while(1) {
westsand 0:126d1599825c 58 myled=!myled;
ichoudhury6 1:c0d6b1d426e8 59
westsand 0:126d1599825c 60 int size = eth.receive();
westsand 0:126d1599825c 61 if(size > 0) {
ichoudhury6 1:c0d6b1d426e8 62 loc=1;
westsand 0:126d1599825c 63 eth.read(buf, size);
westsand 0:126d1599825c 64 type=(buf[12]<<8|buf[13]);
westsand 0:126d1599825c 65 ver= buf[14]>>4;
westsand 0:126d1599825c 66 hlen=buf[14]&0xF;
westsand 0:126d1599825c 67 servtype=buf[15];
westsand 0:126d1599825c 68 tot_len=(buf[16]<<8|buf[17]);
westsand 0:126d1599825c 69 ident=(buf[18]<<8|buf[19]);
westsand 0:126d1599825c 70 prot=buf[23];
westsand 0:126d1599825c 71
ichoudhury6 1:c0d6b1d426e8 72 //lcd.fill(2, 51, 128, 10, 0x00FF00);
ichoudhury6 1:c0d6b1d426e8 73 //lcd.fill(50, 1, 10, 128, 0xFF0000);
ichoudhury6 1:c0d6b1d426e8 74
westsand 0:126d1599825c 75 //ip packet starts at 14
westsand 0:126d1599825c 76 // the IP address starts at
westsand 0:126d1599825c 77
westsand 0:126d1599825c 78 if(type==0x800){
ichoudhury6 1:c0d6b1d426e8 79 lcd.background(0x0000FF);
ichoudhury6 1:c0d6b1d426e8 80 lcd.cls();
ichoudhury6 1:c0d6b1d426e8 81 lcd.locate(0,1);
ichoudhury6 1:c0d6b1d426e8 82 lcd.printf("Wireshark on Nokia");
ichoudhury6 1:c0d6b1d426e8 83 loc+=2;
ichoudhury6 1:c0d6b1d426e8 84 lcd.locate(0, loc);
ichoudhury6 1:c0d6b1d426e8 85 number++;
ichoudhury6 1:c0d6b1d426e8 86 lcd.printf("Number:%i",number);
ichoudhury6 1:c0d6b1d426e8 87 loc+=1;
ichoudhury6 1:c0d6b1d426e8 88 lcd.locate(0, loc);
ichoudhury6 1:c0d6b1d426e8 89 lcd.printf("Source: ");
ichoudhury6 1:c0d6b1d426e8 90 loc++;
ichoudhury6 1:c0d6b1d426e8 91 lcd.locate(0, loc);
ichoudhury6 1:c0d6b1d426e8 92 lcd.printf("%d.%d.%d.%d", buf[26], buf[27], buf[28], buf[29]);
ichoudhury6 1:c0d6b1d426e8 93 loc+=2;
ichoudhury6 1:c0d6b1d426e8 94 lcd.locate(0, loc);
ichoudhury6 1:c0d6b1d426e8 95 lcd.printf("Destination: ");
ichoudhury6 1:c0d6b1d426e8 96
ichoudhury6 1:c0d6b1d426e8 97 loc++;
ichoudhury6 1:c0d6b1d426e8 98 lcd.locate(0, loc);
ichoudhury6 1:c0d6b1d426e8 99 lcd.printf("%d.%d.%d.%d", buf[30], buf[31], buf[32], buf[33]);
ichoudhury6 1:c0d6b1d426e8 100 loc++;
ichoudhury6 1:c0d6b1d426e8 101 lcd.locate(0, loc);
ichoudhury6 1:c0d6b1d426e8 102 k=Protocol(prot);
ichoudhury6 1:c0d6b1d426e8 103 lcd.printf("Protocol %s",k);
ichoudhury6 1:c0d6b1d426e8 104 loc+=2;
ichoudhury6 1:c0d6b1d426e8 105 lcd.locate(0, loc);
ichoudhury6 1:c0d6b1d426e8 106 lcd.printf("Length:%i",size);
ichoudhury6 1:c0d6b1d426e8 107
ichoudhury6 1:c0d6b1d426e8 108
ichoudhury6 1:c0d6b1d426e8 109
westsand 0:126d1599825c 110
westsand 0:126d1599825c 111
ichoudhury6 1:c0d6b1d426e8 112
ichoudhury6 1:c0d6b1d426e8 113
ichoudhury6 1:c0d6b1d426e8 114 //printf("IP Source: %i.%i.%i.%i\r\n",
ichoudhury6 1:c0d6b1d426e8 115 // buf[26], buf[27], buf[28], buf[29]);
ichoudhury6 1:c0d6b1d426e8 116 // printf("IP Destination : %i.%i.%i.%i\r\n",
ichoudhury6 1:c0d6b1d426e8 117 // buf[30], buf[31], buf[32], buf[33]);}
ichoudhury6 1:c0d6b1d426e8 118
ichoudhury6 1:c0d6b1d426e8 119
ichoudhury6 1:c0d6b1d426e8 120 }else{printf("No Connection\r\n");}
westsand 0:126d1599825c 121
westsand 0:126d1599825c 122 wait(1);
westsand 0:126d1599825c 123 }
westsand 0:126d1599825c 124 }
ichoudhury6 1:c0d6b1d426e8 125 }