change the ifreq iterator to use sizeof(struct ifreq), otherwise it get the offset wrong under linux
switch WTP and AC to optarg and add forground argument