sinanjj 发表于 2008-10-24 22:27

新人自我介绍及见面礼: 基于Libpcap的包构造源代码

我是学电子的, 做过2.4G的一些应用, 主要是用于无线组网, 不是wifi, 使用了cc2500, nRF2401等芯片.
在无线组网算法上受阻后, 我把目光转向嵌入式. 简单的说, 我现在在做linux下的DCS系统的上位机. 很简单的, 因为有pvbrowser(QT加了工控库).
因为最近系统在tar备份的时候出了点问题, 所以用了liveCD修复, 用liveCD的时候找到了bt3. 作为hack技术的伟大结晶, 我自然是收藏了. 偶然的搜了一下, 找到了这个站,
初略的判断, tango是个和我志同道合的人, 技术称霸, 直接掌控.
我在linux下的hack主要集中的有线网上, 很久以前, 我曾用这个程序使我们网域使用802.1x认证的终端自动掉线.
思路是: 用tcpdump截到802.1x的下线包, 然后用libpcap库, 底层构建, 修改参数, 攻击之. 结合shell脚本实现多个攻击.
算是见面礼.
未来将是无线的天下. 无线将渗透到每一个方面. 一个无线hack的权限是非常之大的......

// need Libpcap/winpcap
// #gcc -o targat_file source_file.c -lpcap
/* Send a packet with pcap_sendpacket(). Code example START */
#include <stdlib.h>
#include <stdio.h>
#include <pcap.h>
void main(int argc, char **argv)
{
pcap_t *fp;
char error;
unsigned char packet;
int i;
if(argc!=2) { printf("usage: %s inerface \n", argv); return; } // Check the validity of the command line
if( ( fp=pcap_open_live(argv,100,1,1000,error) ) == NULL ) { fprintf(stderr,"\nError opening adapter: %s\n", error); return; } // Open the output adapter
// Supposing to be on ethernet, set MAC destination to 00:08:15:0F:08:15
packet=0x00;
packet=0x08;
packet=0x15;
packet=0x0F;
packet=0x08;
packet=0x15;
// set MAC source to 00:08:15:0E:09:11
packet=0x00;
packet=0x08;
packet=0x15;
packet=0x0E;
packet=0x09;
packet=0x11;
// Fill the rest of the packet
for(i=12;i<100;i++){ packet=i%256; }
// Send down the packet
if( pcap_sendpacket(fp, packet, 100 /* size */) != 0 )
{ fprintf(stderr,"\nError sending the packet: %s\n", pcap_geterr(fp)); return; }
return;
}
/* Code example END */

tange 发表于 2008-10-26 16:09

楼主真是人才,现在能自已动手写代码的实在是太少了,非常感谢您。希望能多来交流经验。

脑霸 发表于 2010-8-8 00:17

菜鸟来学习一下

gyz6563 发表于 2011-1-16 00:00

学习,感谢楼主分享,雷人.

yyqyjr1 发表于 2012-3-5 14:10

路过,看看...
页: [1]
查看完整版本: 新人自我介绍及见面礼: 基于Libpcap的包构造源代码