亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

局域網(wǎng)遠(yuǎn)程開機(jī)軟件制作代碼分享

 更新時間:2013年12月19日 11:56:48   作者:  
局域網(wǎng)遠(yuǎn)程開機(jī)軟件制作代碼分享,大家可以參考使用,要網(wǎng)卡支持,需要gtk+2.0 的庫支持UI

復(fù)制代碼 代碼如下:

/*************************************************************************
 > File Name: wake_up.c
 > Author: wz
 > Created Time: Fri 15 Nov 2013 03:42:47 PM CST
 ************************************************************************/

#include<unistd.h>
#include<arpa/inet.h>
#include<net/if.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<sys/ioctl.h>

void get_mac(char *argv,unsigned char *save_mac)
{
 int j = 0;
 int num_x = 0,num_d,first = 1;
 while(*argv != 0)
 {
  if(*argv != ':')
  {
   if(isdigit(*argv) && first)
   {
    num_x = (*argv - '0')*16;
    first = 0;
    argv++;
    continue;
   }
   if(first && isalpha(*argv))
   {
    num_x = (10+(*argv - 'a'))*16;
    first = 0;
    argv++;
    continue;
   }
   if(!first && isdigit(*argv))
   {
    num_x = num_x+(*argv - '0');
    first = 1;
    argv++;
    continue;
   }
   if(!first && isalpha(*argv))
   {
    num_x = num_x + (10 + (*argv - 'a'));
    first = 1;
    argv++;
    continue;
   }

  }
  else
  {

   save_mac[j] = num_x;
   num_x = 0;
   argv++;
   j++;
  }


 }

 save_mac[j] = num_x;
}

int main(int argc,char *argv[])
{
 int sockfd,i,j,on = 1,n;

 unsigned char packet[120];
 unsigned char save_mac[120];
 struct sockaddr_in to;

 if(argc < 2)
 {
  fprintf(stderr,"用法:程序名 + 目標(biāo)主機(jī)物理地址");
  return 1;
 }

 get_mac(argv[1],save_mac);

 //構(gòu)建magic數(shù)據(jù)包
 for(i = 0; i < 6; i++)
 {
  packet[i] = 0xff;
 }

 for(i = 1; i < 17; i++)
 {
  memcpy(packet+i*6,save_mac,6);

 }


 sockfd = socket(AF_INET,SOCK_DGRAM,0);

 setsockopt(sockfd,SOL_SOCKET,SO_BROADCAST,&on,sizeof(on));

 if(socket < 0)
 {

  fprintf(stderr,"套接字創(chuàng)建錯誤\n");
  return 1;
 }

 memset((void *)&to,0,sizeof(to));

 to.sin_family = AF_INET;
 to.sin_port = htons(30000);
 to.sin_addr.s_addr = inet_addr("125.217.40.255");

 n = sendto(sockfd,packet,sizeof(packet),0,(struct sockaddr *)&to,sizeof(to));

 if(n <= 0)
 {
  fprintf(stderr,"發(fā)送失??!\n");
  return 1;

 }
 else
 {
  printf("發(fā)送成功.\n");
 }
 close(sockfd);
 return 0;
 

}

相關(guān)文章

  • Linux oracle數(shù)據(jù)庫自動備份自動壓縮腳本代碼

    Linux oracle數(shù)據(jù)庫自動備份自動壓縮腳本代碼

    這篇文章主要介紹了Linux oracle數(shù)據(jù)庫備份完成后可以自動壓縮腳本代碼,大家參考使用
    2013-12-12
  • shell 字符串操作(長度,查找,替換)詳解

    shell 字符串操作(長度,查找,替換)詳解

    在做shell批處理程序時候,經(jīng)常會涉及到字符串相關(guān)操作。有很多命令語句,如:awk,sed都可以做字符串各種操作。其實shell內(nèi)置一系列操作符號,可以達(dá)到類似效果,大家知道,使用內(nèi)部操作符會省略啟動外部程序等時間,因此速度會非常的快
    2012-09-09
  • 收集的55個Linux系統(tǒng)管理中常用的一些shell命令

    收集的55個Linux系統(tǒng)管理中常用的一些shell命令

    這篇文章主要介紹了收集的55個Linux系統(tǒng)管理中常用的一些shell命令,需要的朋友可以參考下
    2014-12-12
  • Linux 中常用的Rpm命令實例詳解

    Linux 中常用的Rpm命令實例詳解

    RPM是RedhatPackageManager的縮寫,是由RedHat公司開發(fā)的軟件包安裝和管理程序,同Windows平臺上的Uninstaller比較類似。下面通過本文給大家分享Linux 中常用的Rpm命令實例詳解,一起看看吧
    2017-09-09
  • 淺談shell數(shù)組的定義及循環(huán)

    淺談shell數(shù)組的定義及循環(huán)

    今天小編就為大家分享一篇淺談shell數(shù)組的定義及循環(huán),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Vim 編輯器操作匯總

    Vim 編輯器操作匯總

    本文是小編給大家收藏整理的關(guān)于vim編輯器操作方法,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2018-05-05
  • 實例詳解Linxu中df命令

    實例詳解Linxu中df命令

    df 即“可用磁盤”disk free,用于顯示文件系統(tǒng)的磁盤使用情況,本文通過一些例子給大家講解linux df命令,感興趣的朋友一起學(xué)習(xí)吧
    2015-11-11
  • linux sudo密碼輸入時顯示星號的操作方法

    linux sudo密碼輸入時顯示星號的操作方法

    在輸入linux sudo密碼的時候終端是不顯示任何東西的,我們不知道我們按下的密碼到底輸入進(jìn)去了沒有,如果可以像在網(wǎng)站上登錄賬號密碼的時候顯示星號多好,下面小編給大家介紹下linux sudo密碼輸入時顯示星號的操作方法
    2018-01-01
  • Linux SHELL if命令參數(shù)說明

    Linux SHELL if命令參數(shù)說明

    SHELL if命令參數(shù)介紹,方便學(xué)習(xí)shell命令的朋友,需要的朋友可以參考下
    2013-01-01
  • linux定時備份MySQL數(shù)據(jù)庫并刪除以前的備份文件(推薦)

    linux定時備份MySQL數(shù)據(jù)庫并刪除以前的備份文件(推薦)

    這篇文章主要介紹了linux定時備份MySQL數(shù)據(jù)庫并刪除以前的備份文件,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01

最新評論