#include void decrypt(int len, u_char *in, u_char *out) { int i; if (len <= 0) return; for (i=len-1; i>0; i--) out[i] = (in[i]-in[i-1]-0x17)&0xff; out[0] = (in[0]-0x17)&0xff; } void print_command(u_char *data, int len) { u_char result[1000]; int numips = 1; int i; decrypt(len, data, result); printf(" Command %d ", result[1]); switch(result[1]) { case 2: printf("(set comm parameters): \n"); if (result[2] == 0) { printf(" Reply type 0 (reply to single IP address)\n"); } else if (result[2] == 1) { printf(" Reply type 1 (reply to IP address + 9 random)\n"); } else if (result[2] == 2) { printf(" Reply type 2 (reply to 10 IP address)\n"); numips = 10; } else { printf(" Unknown parameter type (%d)\n", result[2]); } for (i=0; i