Я разрабатываю приложение Port Knocking с MonoDevelop на Linux. Серверное приложение использует IPTables чтобы открыть/закрыть определенный порт с помощью команды:Port Knocking with Mono On Linux
iptables -A INPUT -j DROP
он успешно применяет определенные правила, такие как:
iptables -A INPUT -p udp --dport 606:610 -j LOG
Затем я создал клиентское приложение UdpClient отправить стучит просьбой об
private static UdpClient udp;
public static void sendmessage (string message, string host, short port)
{
try
{
IPAddress ip=IPAddress.Parse(host);
if(udp==null)
udp=new UdpClient();
byte[] b=ASCIIEncoding.ASCII.GetBytes(message);
udp.Send(b,b.Length,new IPEndPoint(ip,port));
}
catch (Exception exc)
{
throw exc;
}
}
Но это клиентское приложение выходит из строя, кажется, что оно поднимает исключение, когда сервер закрывает все порты.
Есть ли какое-либо решение для отправки пакета данных, который не заботится о том, закрывает или закрывает ли сервер какой-либо порт?