Nützliche Einzeiler: Unterschied zwischen den Versionen

Aus Si:Wiki von Siegrist SystemLösungen - Informatik und Rezepte
Wechseln zu: Navigation, Suche
(Aliases aus sendmail /etc/aliases extrahieren und mit Domainname in eine Postgresql Datenbank als source,destination Paar einfügen)
(Directory sharing via http)
Zeile 20: Zeile 20:
  
 
==== Directory sharing via http ====
 
==== Directory sharing via http ====
:ipv4:<code><nowiki> python -m SimpleHTTPServer 1234   </nowiki></code><br>
+
:ipv4:<code><nowiki> python -m SimpleHTTPServer 80   </nowiki></code><br>
 
:ipv6:<code><nowiki> ???  </nowiki></code>
 
:ipv6:<code><nowiki> ???  </nowiki></code>
  

Version vom 10. März 2016, 15:14 Uhr

ssh forwarding von IPv4 Host zu IPv6 Host (www.example.org) über ein Intermediate Dualstack System

local IPv4 system create tunnel via intermediate: ssh -4 user@intermediate-system -L 2222:[2606:2800:220:1:248:1893:25c8:1946]:22
connect to IPv6 www.example.org: ssh localhost:2222

netcat filetransfer

  1. local: nc -l -p 77 -e "tee gaga" -v
  2. remote: cat file.tar.gz | netcat 192.168.1.113 77

netcat proxy

nc -l -p 1234 | nc www.server.com 80

Ersetze "foo" mit "bar" NUR in Zeilen die "baz" enthalten

sed '/baz/s/foo/bar/g'

Ersetze "foo" mit "bar" AUSSER in Zeilen die "baz" enthalten

sed '/baz/!s/foo/bar/g'

Ausgabe der Zeilen 45-50 einer Datei

sed -n '45,50p' filename

Directory sharing via http

ipv4: python -m SimpleHTTPServer 80
ipv6: ???

csv to vcard converter

cat addr_book.csv | awk -F"," '{ print "BEGIN:VCARD\nN:" $3 ";" $2 ";" $1 "\nFN:" $3 "\nEMAIL;TYPE=INTERNET:" $5 "\nEND:VCARD"}' > addr_book.vcf

grep access_log und print host info

grep "GET /index.shtml?tcpportscan=" /var/log/apache2/access_log | awk '{system("host " "\""$1"\"")}' | uniq

die 1000 meistgenutzten Ports aus nmap-services als String komma-separiert

cat /usr/share/nmap/nmap-services | sort -nr -k 3 | grep "/tcp" |awk '{print $2}' | sed 1000q | awk -F/ '{print $1}' | sort -n | perl -n -e 'chomp; print "$_,";'

finde alle symlinks die auf DATEI zeigen

find / -type l -print 2>/dev/null | while read symlink; do echo -n "$symlink"; targ=$(readlink -f "$symlink"); echo "-> $targ"; done | grep "DATEI"

finde alle symlinks die auf DIRECTORY zeigen

find / -type l -xtype d -print 2>/dev/null | while read symlink; do echo -n "$symlink"; targ=$(readlink -f "$symlink"); echo "-> $targ"; done | grep "DIRECTORY"

8 Byte Passwort generieren

openssl rand -base64 6

Perl Oneliner um ein Unix-Socket File (Typ: s) zu erstellen

perl -MIO::Socket::UNIX -e 'IO::Socket::UNIX->new(Type => SOCK_STREAM(),Local => "/tmp/einsocket");'

Aliases aus sendmail /etc/aliases extrahieren und mit Domainname in eine Postgresql Datenbank als source,destination Paar einfügen

Der Oneliner gibt lediglich die 'psql' Statements aus, es wird nichts geschrieben oder verändert. Sind in der Aliases-Datei bereits Einträge in der Form 'user@domain.tld' vorhanden, werden diese so übernommen. Einträgen ohne '@domain.tld' wird jeweils ein '@example.ch' angehängt.

cat /etc/aliases | grep -Pv "^#.*" | grep -v "|" | awk -F: '{ split($2,arr,","); for (i in arr) print $1,arr[i]; }' | sed 's/\\//' | perl -pe 's/(^(?!\S+\@)\S+)\s+((?!.+\@).+)/$1\@example.ch\t $2\@example.ch/' | sort | awk '{print "psql -h 127.0.0.1 -U dbuser -d database -w -X --set ON_ERROR_STOP=on -t --no-align -t --no-align --field-separator \"|\" --single-transaction -c \"insert into schema.forward (source, destination) values (\047"$1"\047, \047"$2"\047);\"" }'