#include #define PACK_LEN 72
#define BUFSIZE 4096
int main(int argc, char *argv[])
{
struct sockaddr_in send_sa;
//struct s;
int i=0,j=0;
int scan_icmp_socket;
char send_buff[PACK_LEN];
char recv_buff[BUFSIZE];
struct in_addr start_addr,end_addr;
struct timeval tv;
fd_set readfd_set;
struct ip *ip;
struct icmp *icmp;
int hlen; //报头 长度
send_sa.sin_family=AF_INET;
scan_icmp_socket=socket(AF_INET,SOCK_RAW,IPPROTO_ICMP);
if (scan_icmp_socket<0)
{
perror("scan_icmp_socket:");
return -1;
}
char ip_addr[17];
//循环ip地址
for (j=1;j<254;j++)
{
memset(ip_addr,'\0',sizeof(ip_addr));
sprintf(ip_addr,"%s.%d",argv[1],j);