Hálózati okosságok

SSH okosságok

SSH-n másolás köztes állomáson át

tar cvf - file1 file2 | ssh KoztesHoszt "ssh -o \"StrictHostKeyChecking no\" CelHoszt \"cd CelMappa && tar -xvf -\""

Több parancs futtatása SSH-n

ssh user@server "$( cat <<'EOT'
echo "These commands will be run on: $( uname -a )"
EOT
)"

Vagy csak simán az escape problémákra megoldás:

ssh root@server ps uax \| grep ba[c] \| \'{ print \$2 }\' \> /tmp/back.tmp

or you could double quote the single quotes instead of escaping them (in both cases, you need to escape the dollar sign)

ssh root@server ps uax \| grep ba[c] \| "'{ print \$2 }'" \> /tmp/back.tmp

Jelszavas sudo parancs futtatása SSH-n

#!/bin/bash
read -a Pass -s -p "Jelszavad? : "
expect -c "
      set timeout 5
      spawn ssh -tt -n $server \"echo -e \\"$Pass\\r\\" | sudo -S <parancs>\"
      expect "Are you sure" { send "yes\r"} timeout {}
      expect "?assword:"
      send \"$Pass\r\"
      expect eof"

Egyéb okosságok

Network socket darabszám mérő

netstat -an | awk '/^tcp/ {A[$(NF)]++} END {for (I in A) {printf "%5d %s\n", A[I], I}}'

Hálózati áteresztőképesség mérés

iperf-fel, 25-ös porton, Mb-ban kiírva, 45 mp-ig, 2 mp-enként kiírva az aktuális rátát, 3 szálon (bővebb tutorial):

[node2]# iperf -p 25 -s (server)
[node1]# iperf -f m -p 25 -c node2 -t 45 -i 2 -P 3 (client)

SSH-val (UNIX/Linux):

[node1]# cat /dev/zero | ssh node2 "cat > /dev/null"

FTP-vel (Unix/Linux):

[node1]# ftp node2
ftp> bin
ftp> put "| dd if=/dev/zero bs=32k count=10000 " /dev/null

Port scanning

nmap -sT hoszt

Ethernet és FC portok lekérdezése

#!/bin/bash
SEARCH=${1-.}
#ETH
echo "Port#Address#Speed#State#Slaves" | awk -F'#' '{printf "%-25s | %-17s | %10s | %-10s | %-15s\n",$1,$2,$3,$4,$5}'
echo "# Ethernet:"
for ETH in $(ip addr | awk -F': ' '/</{print $2}' | egrep -v '(@|lo|^$)' | grep "$SEARCH" | sort -k1); do
        STATE=$(ethtool $ETH 2>/dev/null | awk -F': ' '/Link detected/{print $2}' | sed -e 's/yes/Link UP/' -e 's/no/Link DOWN/')
        SPEED=$(ethtool $ETH 2>/dev/null | awk -F': ' '/Speed/{print $2}' | sed 's/^[0-9]*/& /')
        MAC=$(ip addr | grep -A1 "[^@]$ETH:"  | grep -o '\([0-9abcdef]\{2\}:\)\{5\}[0-9abcdef]\{2\}' | awk '{print $1}' | grep -v 'ff:ff:ff:ff:ff:ff')
        SLAVES=""
        if [[ $(grep -c "Slave.*$ETH" /proc/net/bonding/*) -gt 0 ]]; then
                MAC=$(grep -A5 "Slave.*$ETH" /proc/net/bonding/* | tail -n1 | awk '{print $4}')
        fi
        if [[ $ETH =~ ^bond ]]; then
                SLAVES=$(awk '/^Slave Interface/{print $3}' /proc/net/bonding/$ETH | tr '\n' ' ')
        fi
        echo "$ETH#$MAC#$SPEED#$STATE#$SLAVES" | awk -F'#' '{printf "%-25s | %-17s | %10s | %-10s | %-15s\n",$1,$2,$3,$4,$5}'
done
#FC
echo "# Fiber Channel:"
for PORT in $(ls -d /sys/class/fc_host/host*); do
        STATE=$(cat $PORT/port_state)
        SPEED=$(cat $PORT/speed)
        WWN=$(cat $PORT/port_name | sed 's/^0x//')
        echo "$PORT#$WWN#$SPEED#$STATE" | awk -F'#' '{printf "%-25s | %-17s | %10s | %-10s\n",$1,$2,$3,$4}'
done

Processz izolálása hálózaton

#!/bin/bash
[[ -e /var/run/netns/kalitka ]] || ip netns add kalitka
ip netns exec kalitka ip addr add 127.0.0.1/8 dev lo
ip netns exec kalitka ip link set dev lo up
ip netns exec kalitka $*
linux/network.txt · Utolsó módosítás: 2019/10/22 14:57 szerkesztette: admin
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0