summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opienet/opcap.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/libopie2/opienet/opcap.cpp b/libopie2/opienet/opcap.cpp
index a9dc577..8ec4f47 100644
--- a/libopie2/opienet/opcap.cpp
+++ b/libopie2/opienet/opcap.cpp
@@ -142,130 +142,130 @@ QString OPacket::_dumpStructure( QObjectList* l ) const
142 } 142 }
143 return str; 143 return str;
144} 144}
145 145
146QString OPacket::dump( int bpl ) const 146QString OPacket::dump( int bpl ) const
147{ 147{
148 static int index = 0; 148 static int index = 0;
149 index++; 149 index++;
150 int len = _hdr.caplen; 150 int len = _hdr.caplen;
151 QString str; 151 QString str;
152 str.sprintf( "\n<----- Packet #%04d Len = 0x%X (%d) ----->\n\n", index, len, len ); 152 str.sprintf( "\n<----- Packet #%04d Len = 0x%X (%d) ----->\n\n", index, len, len );
153 str.append( "0000: " ); 153 str.append( "0000: " );
154 QString tmp; 154 QString tmp;
155 QString bytes; 155 QString bytes;
156 QString chars; 156 QString chars;
157 157
158 for ( int i = 0; i < len; ++i ) 158 for ( int i = 0; i < len; ++i )
159 { 159 {
160 tmp.sprintf( "%02X ", _data[i] ); bytes.append( tmp ); 160 tmp.sprintf( "%02X ", _data[i] ); bytes.append( tmp );
161 if ( (_data[i] > 31) && (_data[i]<128) ) chars.append( _data[i] ); 161 if ( (_data[i] > 31) && (_data[i]<128) ) chars.append( _data[i] );
162 else chars.append( '.' ); 162 else chars.append( '.' );
163 163
164 if ( !((i+1) % bpl) ) 164 if ( !((i+1) % bpl) )
165 { 165 {
166 str.append( bytes ); 166 str.append( bytes );
167 str.append( ' ' ); 167 str.append( ' ' );
168 str.append( chars ); 168 str.append( chars );
169 str.append( '\n' ); 169 str.append( '\n' );
170 tmp.sprintf( "%04X: ", i+1 ); str.append( tmp ); 170 tmp.sprintf( "%04X: ", i+1 ); str.append( tmp );
171 bytes = ""; 171 bytes = "";
172 chars = ""; 172 chars = "";
173 } 173 }
174 174
175 } 175 }
176 if ( (len % bpl) ) 176 if ( (len % bpl) )
177 { 177 {
178 str.append( bytes.leftJustify( 1 + 3*bpl ) ); 178 str.append( bytes.leftJustify( 1 + 3*bpl ) );
179 str.append( chars ); 179 str.append( chars );
180 } 180 }
181 str.append( '\n' ); 181 str.append( '\n' );
182 return str; 182 return str;
183} 183}
184 184
185 185
186int OPacket::len() const 186int OPacket::len() const
187{ 187{
188 return _hdr.len; 188 return _hdr.len;
189} 189}
190 190
191 191
192QTextStream& operator<<( QTextStream& s, const OPacket& p ) 192QTextStream& operator<<( QTextStream& s, const OPacket& p )
193{ 193{
194 s << p.dumpStructure(); 194 s << p.dumpStructure();
195} 195}
196 196
197 197
198/*====================================================================================== 198/*======================================================================================
199 * OEthernetPacket 199 * OEthernetPacket
200 *======================================================================================*/ 200 *======================================================================================*/
201 201
202OEthernetPacket::OEthernetPacket( const unsigned char* end, const struct ether_header* data, QObject* parent ) 202OEthernetPacket::OEthernetPacket( const unsigned char* end, const struct ether_header* data, QObject* parent )
203 :QObject( parent, "Ethernet" ), _ether( data ) 203 :QObject( parent, "Ethernet" ), _ether( data )
204{ 204{
205 205
206 odebug << "Source = " << sourceAddress().toString(); 206 odebug << "Source = " << sourceAddress().toString() << oendl;
207 odebug << "Destination = " << destinationAddress().toString(); 207 odebug << "Destination = " << destinationAddress().toString() << oendl;
208 208
209 if ( sourceAddress() == OMacAddress::broadcast ) 209 if ( sourceAddress() == OMacAddress::broadcast )
210 odebug << "Source is broadcast address" << oendl; 210 odebug << "Source is broadcast address" << oendl;
211 if ( destinationAddress() == OMacAddress::broadcast ) 211 if ( destinationAddress() == OMacAddress::broadcast )
212 odebug << "Destination is broadcast address" << oendl; 212 odebug << "Destination is broadcast address" << oendl;
213 213
214 switch ( type() ) 214 switch ( type() )
215 { 215 {
216 case ETHERTYPE_IP: new OIPPacket( end, (const struct iphdr*) (data+1), this ); break; 216 case ETHERTYPE_IP: new OIPPacket( end, (const struct iphdr*) (data+1), this ); break;
217 case ETHERTYPE_ARP: new OARPPacket( end, (const struct myarphdr*) (data+1), this ); break; 217 case ETHERTYPE_ARP: new OARPPacket( end, (const struct myarphdr*) (data+1), this ); break;
218 case ETHERTYPE_REVARP: { odebug << "OPacket::OPacket(): Received Ethernet Packet : Type = RARP" << oendl; break; } 218 case ETHERTYPE_REVARP: { odebug << "OPacket::OPacket(): Received Ethernet Packet : Type = RARP" << oendl; break; }
219 default: odebug << "OPacket::OPacket(): Received Ethernet Packet : Type = UNKNOWN" << oendl; 219 default: odebug << "OPacket::OPacket(): Received Ethernet Packet : Type = UNKNOWN" << oendl;
220 } 220 }
221 221
222} 222}
223 223
224 224
225OEthernetPacket::~OEthernetPacket() 225OEthernetPacket::~OEthernetPacket()
226{ 226{
227} 227}
228 228
229 229
230OMacAddress OEthernetPacket::sourceAddress() const 230OMacAddress OEthernetPacket::sourceAddress() const
231{ 231{
232 return OMacAddress( _ether->ether_shost ); 232 return OMacAddress( _ether->ether_shost );
233} 233}
234 234
235 235
236OMacAddress OEthernetPacket::destinationAddress() const 236OMacAddress OEthernetPacket::destinationAddress() const
237{ 237{
238 return OMacAddress( _ether->ether_dhost ); 238 return OMacAddress( _ether->ether_dhost );
239} 239}
240 240
241int OEthernetPacket::type() const 241int OEthernetPacket::type() const
242{ 242{
243 return ntohs( _ether->ether_type ); 243 return ntohs( _ether->ether_type );
244} 244}
245 245
246 246
247/*====================================================================================== 247/*======================================================================================
248 * OIPPacket 248 * OIPPacket
249 *======================================================================================*/ 249 *======================================================================================*/
250 250
251 251
252OIPPacket::OIPPacket( const unsigned char* end, const struct iphdr* data, QObject* parent ) 252OIPPacket::OIPPacket( const unsigned char* end, const struct iphdr* data, QObject* parent )
253 :QObject( parent, "IP" ), _iphdr( data ) 253 :QObject( parent, "IP" ), _iphdr( data )
254{ 254{
255 odebug << "OIPPacket::OIPPacket(): decoding IP header..." << oendl; 255 odebug << "OIPPacket::OIPPacket(): decoding IP header..." << oendl;
256 256
257 odebug << "FromAddress = " << fromIPAddress().toString() << oendl; 257 odebug << "FromAddress = " << fromIPAddress().toString() << oendl;
258 odebug << " toAddress = " << toIPAddress().toString() << oendl; 258 odebug << " toAddress = " << toIPAddress().toString() << oendl;
259 259
260 switch ( protocol() ) 260 switch ( protocol() )
261 { 261 {
262 case IPPROTO_UDP: new OUDPPacket( end, (const struct udphdr*) (data+1), this ); break; 262 case IPPROTO_UDP: new OUDPPacket( end, (const struct udphdr*) (data+1), this ); break;
263 case IPPROTO_TCP: new OTCPPacket( end, (const struct tcphdr*) (data+1), this ); break; 263 case IPPROTO_TCP: new OTCPPacket( end, (const struct tcphdr*) (data+1), this ); break;
264 default: odebug << "OIPPacket::OIPPacket(): unknown IP protocol, type = " << protocol() << oendl; 264 default: odebug << "OIPPacket::OIPPacket(): unknown IP protocol, type = " << protocol() << oendl;
265 } 265 }
266 266
267} 267}
268 268
269OIPPacket::~OIPPacket() 269OIPPacket::~OIPPacket()
270{ 270{
271} 271}