Για να πάρεις την/τις IP του Η/Υ μπορείς να χρησιμοποιήσεις το εξής:
using System.Net;
IPHostEntry ipHostInfo = Dns.Resolve(System.Environment.MachineName); //ή άλλο ComputerName ώς string
ArrayList myIPs = new ArrayList();
foreach(IPAddress ipAddress in ipHostInfo.AddressList)
{
myIPs.Add(ipAddress.ToString());
}
Έτσι μπορείς να πάρεις όλες τις IP που έχουν γίνει assigned σε ένα PC.
Ή μπορείς να χρησιμοποιήσεις ipHostInfo.AddressList[index] για να πάρεις μια συγκεκριμένη.
Όσο για τον έλεγχο σύνδεσης δεν είμαι σίγουρος αλλά δες στο MSDN το System.Net.ServicePointManager