Bash script to randomly change network card state

Here is a simple BASH script to bring down/up an interface randomly. Note there is no error checking or states... it will work if it can work. e.g if the interface is up, and the script calls up - it will be up.

#!/bin/sh                                                                                                              
                                                                                                                       
while [ 1 ]                                                                                                            
do                                                                                                                      
        RAND=`openssl rand -hex 1`                                                                                      
        VAL=`printf "%d"  0x$RAND`                                                                                      
        echo "value: $VAL"                                                                                              
        if [ $((VAL%2)) -eq 0 ];                                                                                        
        then                                                                                                            
                echo "even"                                                                                            
                ifconfig eth0 up                                                                                        
                logger "test script bringing eth0 up"                                                                  
        else                                                                                                            
                echo "odd"                                                                                              
                ifconfig eth0 down                                                                                      
                logger "test script brining eth1 down"                                                                  
        fi                                                                                                              
        sleep $VAL                                                                                                      
done                                                                                                                    
                                                                                                                       
exit

Blog tags: 

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <python> <c>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
By submitting this form, you accept the Mollom privacy policy.