Surpreso ninguém notou, mas 66887 não é um número de porta válido.
The port number is an unsigned 16-bit integer, so 65535.
O intervalo válido para portas é 0-65535.
Como você está especificando a porta inválida 66887, a maioria dos sistemas operacionais truncará isso para 1351:
[root@f ~]# tcpdump -qnn host 8.8.8.8 & telnet 8.8.8.8 66887
[1] 4054
Trying 8.8.8.8...
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
15:30:56.175482 IP 10.0.0.42.60280 > 8.8.8.8.1351: tcp 0
Ou em C:
[root@f ~]# cat > 16.c << EOF
> #include <stdio.h>
> #include <stdint.h>
> int main(void) {
> uint16_t port=66887;
> printf("%d\n",port);
> return 0;
> }
> EOF
[root@f ~]# gcc -o 16 16.c
16.c: In function ‘main’:
16.c:4: warning: large integer implicitly truncated to unsigned type
[root@f ~]# ./16
1351