int main(int argc,char *argv[]) { char *filename; sdword size; ubyte *packet; if (argc < 2) { print("Usage: PktView filename.pkts [verbose]"); return 0; } filename = argv[1]; verbose = 0; if (argc >= 3) { if (stricmp(argv[2],"verbose") == 0) { verbose = 1; } } fp = fopen(filename,"rb"); if (fp == NULL) { print("Error opening file %s",filename); return 0; } for (;;) { packet = GetNextPacket(&size); if (packet == NULL) break; if (size <= 0) { free(packet); break; } PrintPacketInfo(packet,size); free(packet); } fclose(fp); return 0; }
void MainWindow::readDatagrams() { packet p; int randomValue = qrand() % ((100 + 1) - 0) + 0; if (socket->hasPendingDatagrams()) { if (randomValue >= bit_error_rate) { socket->readDatagram((char*)&p, sizeof(p)); ProcessPacket(p); } else { socket->readDatagram((char*)&p, sizeof(p)); AppendToLog("Dropping packet: "); PrintPacketInfo(p); } } }
void MainWindow::ProcessPacket(packet p) { PrintPacketInfo(p); WriteUDP(p); }