Você pode simular essas coisas com firewall.
A ferramenta Userland para modificar regras de firewall é chamada iptables
por exemplo, se você quiser simular 5 segundos de perda de conexão, você pode fazer isso
iptables -I INPUT -p tcp -s source.ip.for.which.you.want.to.appear.to.timeout --dpor $port -j DROP ;
%código%
sleep 5;