printf(" Src Address\n");
for(i = 0;i < 4;i++)
printf(" %d ",((ip->ip_src.s_addr)&(0x0FF<<(i*8)))>>(i*8));
это отображает o / p как 127.0.0.0, так как я использую loopback, но когда я делаю то же самое, 2 отображаю адрес Ethernet, используя тот же
for(i = 0;i <6; i++)
printf("dest ether:%c",((ethernet->ether_dhost)&(0x0FF<<(i*8)))>>(i*8));
ошибка, которую я получаю, является ошибкой: недопустимые операнды в двоичный файл &
здесь u_char ether_dhost [6]; и переменная, в которой хранится IP-адрес, имеет тип unsigned long int ... как отобразить сетевой адрес ..