Essas mensagens são impressas como erros (stderr) em vez de saída regular (stdout).
Somente stdout é canalizado, não stderr. Então, tendo &> /tmp/file após grep, você está apenas mesclando a saída stdout e stderr de grep , ele não irá mesclar o stderr de conntrack
Para o seu exemplo, você provavelmente quer algo como:
conntrack -L 2>&1 | grep "dport=6439" > /tmp/file
stderr é o descritor de arquivo 2 e stdout é o descritor de arquivo 1. 2>&1 mescla stderr em stdout.
Colocando 2>&1 em conntrack , a saída é mesclada antes de ser canalizada para grep . Não há necessidade de mesclar novamente em grep .