как сохранить все сообщения, проходящие через сетевую карту (или только с заданным IP-адресом) в операционной системе Linux, и сохранить их в файл?
Вы должны взглянуть на tcpdump / libcap.Конечно, есть много отличных анализаторов пакетов, основанных на этих библиотеках, которые вы можете использовать для извлечения и хранения любого трафика, проходящего через вашу сетевую карту.
http://www.tcpdump.org/