Hola amigos, después de mucho pensar y darle vueltas al asunto he podido llegar a una solución
¿Es posible evitar que se envíe el último segmento TCP RST al objetivo?
¡Claro que sí! No sé por qué no lo había pensado antes, pero la solución es realmente sencilla, simplemente tengo que agregar una regla a la cadena OUTPUT de iptables para evitar que salgan segmentos TCP RST por mi tarjeta de red al objetivo dirigidos al puerto 80, de la siguiente manera:
iptables -I OUTPUT 1 --destination 192.168.0.1 --protocol tcp --dport 80 --tcp-flags RST RST -j DROP
Ya pude verificar mediante Wireshark que no se envía dicho segmento TCP RST.
¿Existe alguna manera para saber si el último paquete es enviado por Nping o por mi SO?
Después de mucho buscar encontré en un libro lo siguiente: Como el segment incicial TCP SYN es generado "a mano" por la herramienta (en este caso Nping) sin pasar por el stack TCP/IP de mi SO y no hace uso de la llamada al sistema "connect()", como es habitual, cuando el stack TCP/IP del SO recibe el segmento TCP SYN/ACK enviado por el objetivo su respuesta natural es enviar un TCP RST ya que no tenía conocimiento de dicha conexión.
Por lo tanto dicho paquete era generado por mi SO.
¡Saludos!