Trying to just pipe to grep results in a useful error, but not the flag.
```root@kali:~# nc jh2i.com 50017 | grep flagBinary file (standard input) matches^C```
Googling this error indicates that adding switch "-a" should help (https://unix.stackexchange.com/a/379755)
Confirming this via man pages  -a, --text    Process a binary file as if it were text; this is equivalent to the --binary-files=text option.
```root@kali:~# nc jh2i.com 50017 | grep -a "flag"�    W�tiz�]�N�P?X���o�۔7��d�z��M����ZnAm��?�"��C0flag{more_text_in_the_vortex}  {q�/��z�7�9�d��.������;���$�����o����_����_PD0+A�!��d��U�΃�Ѹk�E9q�L}#{ݽ��qLFA�������q3�T��{�1)�Y2Mc���5�G�?�j�nI������]��^p�M3�J�,�X��c�'���1�q���Q���s�LjO���)>��)�Aȝ��=�=�\s��ܬ��ٝjHτ�%d�S���@"�p���`Ų�ڵ��"���#��<xVы�L��_�>    ����M�����DNސ�De~$���]���D4�4=Q��˅r*��_͢�k]��eb���$��Hߛ���~�R��c��f�`a��kWԝ��퐹⻸����ۍ�%S��K�BU                                                           ��,S����^C```
Googling again indicates that strings can be used convert the binary to text whcih means we can grep without the "-a" or "--text" switches (https://serverfault.com/a/328103)
```root@kali:~# nc jh2i.com 50017 | strings | grep "flag"  flag{more_text_in_the_vortex}>D^C```