当前位置:  技术问答>linux和unix

求助 用程序读取ARP缓存

    来源: 互联网  发布时间:2016-10-22

    本文导语:  如题,没有找到能够直接读取ARP缓存的库函数或系统调用,难道要直接读文件?请众高手指教。。。。 | 用ioctl可以实现,详情见链接 http://blog.chinaunix.net/u2/76292/showart_2158555.html http://blog.csdn.ne...

如题,没有找到能够直接读取ARP缓存的库函数或系统调用,难道要直接读文件?请众高手指教。。。。

|
用ioctl可以实现,详情见链接
http://blog.chinaunix.net/u2/76292/showart_2158555.html
http://blog.csdn.net/fyang2007/archive/2010/04/20/5506432.aspx

以下是抄来的代码
#include 

#include 
#include 
#include 

#include 
#include 
#include  
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#define DEV_NAME "eth0"
//#define SIOCDARP    0x8953        /* delete ARP table entry    */

//#define SIOCGARP    0x8954        /* get ARP table entry        */

//#define SIOCSARP    0x8955        /* set ARP table entry        */


static int sd;

/* Delete an entry from the ARP cache. */
static int arp_del(char* ip)
{
 struct arpreq arpreq;
 struct sockaddr_in *sin;
 struct in_addr ina;
 int rc;
    
  printf("del arp entry for IP : %sn", ip);
 
  /*you must add this becasue some system will return "Invlid argument"
    because some argument isn't zero*/
  memset(&arpreq, 0, sizeof(struct arpreq));

  sin = (struct sockaddr_in *) &arpreq.arp_pa;
  memset(sin, 0, sizeof(struct sockaddr_in));
  sin->sin_family = AF_INET;
  ina.s_addr = inet_addr(ip);
  memcpy(&sin->sin_addr, (char *)&ina, sizeof(struct in_addr));
        
  strcpy(arpreq.arp_dev, DEV_NAME);
  rc = ioctl(sd, SIOCDARP, &arpreq);
  if (rc sin_family = AF_INET;
  ina.s_addr = inet_addr(ip);
  memcpy(&sin->sin_addr, (char *)&ina, sizeof(struct in_addr));
        
  strcpy(arpreq.arp_dev, DEV_NAME);
  rc = ioctl(sd, SIOCGARP, &arpreq);
  if (rc 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 菜鸟求助:Linux 应用程序后台启动后关闭窗口程序退出
  • 求助 如何取消fedora 8启动时候的欢迎应用程序
  • 高分求助foxpro的jdbc驱动程序!!!!
  • 高分求助程序框架!!!!
  • 求助访问linux下jboss应用程序?
  • 求助:脚本文件和主程序通信问题
  • 求助:程序移植,让程序拷过去就可以用
  • Linux配置程序求助
  • 程序打包,求助!
  • [求助]如何获取一个程序所使用的系统调用和参数?
  • 菜鸟求助:如何让自己编的小程序,开机自动运行?
  • gtk程序中如何定时刷新?求助
  • 菜鸟的问题:求助,关于red hat linux 引导程序
  • 各位师哥师姐,我急切求助,关于文件的上传下载程序代码
  • IPTABLE辅助程序求助
  • 求助SHELL程序
  • 求助 程序中添加互斥锁代码后编译怎么通不过 ?
  • 【求助】应用程序能用likely和unlikely宏吗?
  • 求助!! 在QTE 下如何编写播放flash的 程序????
  • 求助!怎样实现一个程序长期固定的在一块物理内存
  • 高分求助高分求助高分求助高分求助高分求助高分求助
  • 紧急求助!紧急求助!
  • 【求助】iplanet问题,求助高手解答!
  • 菜鸟求助,solaris下计算问题求助
  • 【求助】SOS紧急求助..............极为简单的问题...跪求....
  • 高分求助啊!求助SUSE 10.0 不能上网.
  • 急急急急急急急啊,紧急求助啊!!!!!满分求助啊!!!!!!
  • 求助:linux下 vim的配置(高分求助)
  • red hat怎么安装gcc啊!总是出错,求助求助啊!!!yum源怎么改啊!!
  • 求助~~求助 ~~linux文件读写问题
  • 求助:信号 --13 进程中断


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3