Reputation: 999
I want to write a C or C++ program, that given an IP address, Pings it and then performs further action based on whether the Ping was successful or not. How to do this?
Upvotes: 43
Views: 106909
Reputation: 111
#include <iostream>
using namespace std;
int main() {
int x = system("ping -c1 -s1 8.8.8.8 > /dev/null 2>&1");
if (x==0){
cout<<"success";
}else{
cout<<"failed";
}
replace 8.8.8.8 from your IP Address
Upvotes: 4
Reputation: 3701
This post is old but I think the following link will help future people lookign for a good explanation on how to create a Ping request.
Upvotes: 5
Reputation: 34523
EDIT I saw after I posted, you are on Ubuntu. However someone searching this question may still find these links helpful for Windows.
Ping: Raw Sockets Method: http://tangentsoft.net/wskfaq/examples/rawping.html
Implementing Internet Pings Using Icmp.dll: http://support.microsoft.com/default.aspx?scid=kb;en-us;170591
IcmpSendEcho Function: http://msdn.microsoft.com/en-us/library/aa366050%28VS.85%29.aspx
Ping for Windows: http://www.codeproject.com/KB/IP/winping.aspx
Upvotes: 19
Reputation: 84159
Have a blast at The Ping Page, which has a link to full source on the original Unix ping(8)
.
Upvotes: 28