From 2bea8f674112e02604bd5aeff12e9d642cdad7b2 Mon Sep 17 00:00:00 2001 From: netblue30 Date: Mon, 16 Jul 2018 09:49:55 -0400 Subject: network testing --- test/network/configure | 2 + test/network/net_noip.exp | 1 + test/network/net_noip2.exp | 1 + test/network/net_unconfigured.exp | 244 ++++++++++++++++++++++++++++++++++++++ test/network/network.sh | 3 + 5 files changed, 251 insertions(+) create mode 100755 test/network/net_unconfigured.exp (limited to 'test/network') diff --git a/test/network/configure b/test/network/configure index 9d47fe69e..9859519bd 100755 --- a/test/network/configure +++ b/test/network/configure @@ -10,6 +10,8 @@ iptables -t nat -A POSTROUTING -o eth0 -s 10.10.20.0/29 -j MASQUERADE # port forwarding # iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 10.10.20.2:80 +brctl addbr br-unconfigured +ifconfig br-unconfigured up brctl addbr br1 ifconfig br1 10.10.30.1/24 up brctl addbr br2 diff --git a/test/network/net_noip.exp b/test/network/net_noip.exp index 958586ccb..125862c2b 100755 --- a/test/network/net_noip.exp +++ b/test/network/net_noip.exp @@ -39,6 +39,7 @@ expect { } expect { timeout {puts "TESTING ERROR 6\n";exit} + "10.10.20" {puts "TESTING ERROR 7\n";exit} "done" } send -- "exit\r" diff --git a/test/network/net_noip2.exp b/test/network/net_noip2.exp index 8a6748114..c9df2c36f 100755 --- a/test/network/net_noip2.exp +++ b/test/network/net_noip2.exp @@ -38,6 +38,7 @@ expect { } expect { timeout {puts "TESTING ERROR 6\n";exit} + "10.10.30" {puts "TESTING ERROR 7\n";exit} "done" } send -- "exit\r" diff --git a/test/network/net_unconfigured.exp b/test/network/net_unconfigured.exp new file mode 100755 index 000000000..6f1be0e50 --- /dev/null +++ b/test/network/net_unconfigured.exp @@ -0,0 +1,244 @@ +#!/usr/bin/expect -f +# This file is part of Firejail project +# Copyright (C) 2014-2018 Firejail Authors +# License GPL v2 + +set timeout 10 +spawn $env(SHELL) +match_max 100000 + +# check ip address +send -- "firejail --noprofile --net=br-unconfigured --ip=none\r" +expect { + timeout {puts "TESTING ERROR 0\n";exit} + "eth0" {puts "TESTING ERROR 1\n";exit} + "Child process initialized" +} +sleep 1 +send -- "bash\r" +sleep 1 + +send -- "stty -echo\r" +after 100 + +# no default gateway configured +send -- "netstat -rn;echo done\r" +expect { + timeout {puts "TESTING ERROR 2\n";exit} + "0.0.0.0" {puts "TESTING ERROR 3\n";exit} + "eth0" {puts "TESTING ERROR 4\n";exit} + "done" +} +sleep 1 + +# eth0 configured +send -- "/sbin/ifconfig;echo done\r" +expect { + timeout {puts "TESTING ERROR 5\n";exit} + "eth0" +} +expect { + timeout {puts "TESTING ERROR 6\n";exit} + "done" +} +send -- "exit\r" +after 100 +send -- "exit\r" +after 100 + + + +# check ip address +send -- "firejail --noprofile --net=br-unconfigured\r" +expect { + timeout {puts "TESTING ERROR 7\n";exit} + "eth0" {puts "TESTING ERROR 8\n";exit} + "Child process initialized" +} +sleep 1 +send -- "bash\r" +sleep 1 + +send -- "stty -echo\r" +after 100 + +# no default gateway configured +send -- "netstat -rn;echo done\r" +expect { + timeout {puts "TESTING ERROR 9\n";exit} + "0.0.0.0" {puts "TESTING ERROR 10\n";exit} + "eth0" {puts "TESTING ERROR 11\n";exit} + "done" +} +sleep 1 + +# eth0 configured +send -- "/sbin/ifconfig;echo done\r" +expect { + timeout {puts "TESTING ERROR 12\n";exit} + "eth0" +} +expect { + timeout {puts "TESTING ERROR 13\n";exit} + "done" +} +send -- "exit\r" +after 100 +send -- "exit\r" +after 100 + + +# check ip address +send -- "firejail --noprofile --net=br-unconfigured --defaultgw=10.10.80.1\r" +expect { + timeout {puts "TESTING ERROR 14\n";exit} + "eth0" {puts "TESTING ERROR 15\n";exit} + "Child process initialized" +} +sleep 1 +send -- "bash\r" +sleep 1 + +send -- "stty -echo\r" +after 100 + +# no default gateway configured +send -- "netstat -rn;echo done\r" +expect { + timeout {puts "TESTING ERROR 16\n";exit} + "0.0.0.0" {puts "TESTING ERROR 17\n";exit} + "eth0" {puts "TESTING ERROR 18\n";exit} + "done" +} +sleep 1 + +# eth0 configured +send -- "/sbin/ifconfig;echo done\r" +expect { + timeout {puts "TESTING ERROR 19\n";exit} + "eth0" +} +expect { + timeout {puts "TESTING ERROR 20\n";exit} + "done" +} +send -- "exit\r" +after 100 +send -- "exit\r" +after 100 + + +# check ip address +send -- "firejail --noprofile --net=br-unconfigured --ip=10.10.80.1 --defaultgw=10.10.80.1\r" +expect { + timeout {puts "TESTING ERROR 21\n";exit} + "eth0" {puts "TESTING ERROR 22\n";exit} + "Child process initialized" +} +sleep 1 +send -- "bash\r" +sleep 1 + +send -- "stty -echo\r" +after 100 + +# no default gateway configured +send -- "netstat -rn;echo done\r" +expect { + timeout {puts "TESTING ERROR 23\n";exit} + "0.0.0.0" {puts "TESTING ERROR 24\n";exit} + "eth0" {puts "TESTING ERROR 25\n";exit} + "done" +} +sleep 1 + +# eth0 configured +send -- "/sbin/ifconfig;echo done\r" +expect { + timeout {puts "TESTING ERROR 26\n";exit} + "eth0" +} +expect { + timeout {puts "TESTING ERROR 27\n";exit} + "done" +} +send -- "exit\r" +after 100 +send -- "exit\r" +after 100 + + +# check ip address +send -- "firejail --noprofile --net=br-unconfigured --ip=10.10.80.1 --netmask=255.255.255.0 --defaultgw=10.10.80.1\r" +expect { + timeout {puts "TESTING ERROR 28\n";exit} + "eth0" +} +expect { + timeout {puts "TESTING ERROR 29\n";exit} + "10.10.80.1" +} +expect { + timeout {puts "TESTING ERROR 30\n";exit} + "Child process initialized" +} +sleep 1 +send -- "bash\r" +sleep 1 + +send -- "stty -echo\r" +after 100 + +# no default gateway configured +send -- "netstat -rn;echo done\r" +expect { + timeout {puts "TESTING ERROR 31\n";exit} + "0.0.0.0" +} +expect { + timeout {puts "TESTING ERROR 32\n";exit} + "10.10.80.1" +} +expect { + timeout {puts "TESTING ERROR 33\n";exit} + "eth0" +} +expect { + timeout {puts "TESTING ERROR 34\n";exit} + "10.10.80.0" +} +expect { + timeout {puts "TESTING ERROR 35\n";exit} + "0.0.0.0" +} +expect { + timeout {puts "TESTING ERROR 36\n";exit} + "eth0" +} +expect { + timeout {puts "TESTING ERROR 37\n";exit} + "done" +} +sleep 1 + +# eth0 configured +send -- "/sbin/ifconfig;echo done\r" +expect { + timeout {puts "TESTING ERROR 38\n";exit} + "eth0" +} +expect { + timeout {puts "TESTING ERROR 39\n";exit} + "10.10.80.1" +} +expect { + timeout {puts "TESTING ERROR 40\n";exit} + "done" +} +send -- "exit\r" +after 100 +send -- "exit\r" +after 100 + + +puts "all done\n" diff --git a/test/network/network.sh b/test/network/network.sh index 4f001b49c..fa6f214cd 100755 --- a/test/network/network.sh +++ b/test/network/network.sh @@ -8,6 +8,9 @@ export MALLOC_PERTURB_=$(($RANDOM % 255 + 1)) sudo ./configure +echo "TESTING: unconfigured network (net_unconfigured.exp)" +./net_unconfigured.exp + echo "TESTING: netfilter template (netfilter-template.exp)" rm -f ./tcpserver gcc -o tcpserver tcpserver.c -- cgit v1.2.3-54-g00ecf