Chinaunix首页 | 论坛 | 博客
  • 博客访问: 365500
  • 博文数量: 104
  • 博客积分: 2519
  • 博客等级: 少校
  • 技术积分: 1025
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-22 06:54
文章分类

全部博文(104)

文章存档

2009年(90)

2008年(14)

我的朋友

分类: LINUX

2009-04-05 00:36:54

net/core/pktgen.c内核数据包生成器及其说明文档  

How to use the Linux packet generator module. 

1. Enable CONFIG_NET_PKTGEN to compile and build pktgen.o, install it 
  in the place where insmod may find it. 
2. Cut script "ipg" (see below). 
3. Edit script to set preferred device and destination IP address. 
4. Run in shell: ". ipg" 
5. After this two commands are defined: 
  A. "pg" to start generator and to get results. 
  B. "pgset" to change generator parameters. F.e. 
      pgset "multiskb 1"      use multiple SKBs for packet generation 
      pgset "multiskb 0"      use single SKB for all transmits 
      pgset "pkt_size 9014"  sets packet size to 9014 
      pgset "frags 5"        packet will consist of 5 fragments 
      pgset "count 200000"    sets number of packets to send 
      pgset "ipg 5000"        sets artificial gap inserted between packets 
                              to 5000 nanoseconds 
      pgset "dst 10.0.0.1"    sets IP destination address 
                              (BEWARE! This generator is very aggressive!) 
      pgset "dstmac 00:00:00:00:00:00"    sets MAC destination address 
      pgset stop          aborts injection 
      
  Also, ^C aborts generator. 

---- cut here 

#! /bin/sh 

modprobe pktgen.o 

function pgset() { 
    local result 

    echo $1 > /proc/net/pg 

    result=`cat /proc/net/pg | fgrep "Result: OK:"` 
    if [ "$result" = "" ]; then 
        cat /proc/net/pg | fgrep Result: 
    fi 


function pg() { 
    echo inject > /proc/net/pg 
    cat /proc/net/pg 


pgset "odev eth0" 
pgset "dst 0.0.0.0" 

---- cut here 

========================================================= 
把CONFIG_NET_PKTGEN加到内核里试试看..
阅读(2193) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~