I think there is no inherent protocol for finding out this information. Inherently the SerialPort
does not know what is on the other side. It will be your job to open the port (which will work irrespective of any device plugged in or not) and try to communicate via the port.
If your communication attempt succeeds then you know that there is a device connected. Otherwise you can assume (but not know for sure, because the device can decide not to be talkative) that there is no device at this port.
Tip: you can get all port names which this command:
string [] allPortNames = System.IO.Ports.SerialPort.GetPortNames();
now you can iterate through the names and do you check