2009. május 28., csütörtök

# IPv6


Csak egy apró kezdeményezés. Mivel belátható időn belül négykézláb/kötelező ötlet lenne váltani/felkészülni az IPv6-ra, így ide fogok gyűjtögetni egy-két linket a "témáról". Remélem hasznosak lesznek az itt felsorolt hivatkozások, már akinek [nekem Igen :)]. Az IPv6 nem egy hype, vagy "jajdejó, új feature", egyszerűen nincs/nem lesz más választás [lásd: NIIF videók]. Akit ez egyáltalán Nem Érdekel, az az "idő eljövetelekor" vulgárisan szólva sz*rb*n lesz [már tényleg elnézést].
Egy sacc előtte: Mikor fogynak el az IPv4-es címek? - Pontosan úgy se tudja senki, több helyen lehet olvasni sokfélét, annyi a legbiztosabb, hogy el fognak fogyni rövid időn belül. Ha átlagolni kéne, azt mondaná az ember, hogy ha ~igaz amiket manapság írnak, akkor ~kb a mai dátumhoz [2009.05.28] képest ~2 év, azaz érdekes lesz visszanézni ezt az írást 2011 felénél :).

Hogyan lehetne esetleg terjeszteni az IPv6-ot ["átlag ember szempontjából"]? A mai oprendszerekben [de már évekkel ezelőtt is] volt/van IPv6 támogatás. ~~SOHO routerekben ~~is. Tehát aki akarja/van ilyenre "pénze" [mármint EGY telefonhívásra], egyszerűen hívja fel az internet-szolgáltatóját, és kérdezze meg, hogy mettől kaphat IPv6-os címet, mert ő [mármint TE] igen is akar!! [Mármint amennyiben érdekel.] Csak egy tipp volt. [Sok lúd ISP-t győz :)]
Egy pár adat: Akkor a lényeg - Hasznos linkek [idővel bővítem]: Indítottam egy fórum topicot, ahol felteheted extra kérdéseidet [és remélhetőleg válasz is jön rá :) ]: ui.: ISP - Hupwiki

2009. május 22., péntek

# Mi az a 8 MByte particionálatlan terület?


Egy pl.: xp telepítésekor

ui.: ez a legvalószínűbb [Dynamic Disk]
ui2.: Setup Reserves Disk Space for Upgrading to Dynamic Disk

# MBR törlése [tudd, hogy mit csinálsz! - mert ezzel kárt okozhatsz]


fdisk -l
-el megnézni, hogy mik a HDD-k elnevezései, majd a törlés:
dd if=/dev/zero of=/dev/sda count=1 bs=512
Ha nem akarod az MBR-ből kitörölni a partíciók adatait tartalmazó részt, akkor csak az első 446 Byte-ját nullázd:
dd if=/dev/zero of=/dev/sda count=1 bs=446
ui.: LiveCD-vel [pl.: SystemRescueCD].
ui2.: MBR-ről a Wikipedia-n.
ui3.: Biztonsági mentés az MBR-ről.

# Biztonsági mentés az MBR-ről


fdisk -l
-el megnézni, hogy mik a HDD-k elnevezései
dd if=/dev/sdX of=mbr.backup count=1 bs=512
-el pedig elmenteni egy fájlba az MBR-t.
dd if=mbr.backup of=/dev/sdX count=1 bs=512
-el pedig visszaállítani, esetleg egy "sync" parancs utána.

2009. május 21., csütörtök

# ~m3u "generálása" az adott mappában [generate m3u]


find . -maxdepth 1 -name "*.mp3" -type f > "Playlist_${PWD##*/}".m3u
Ugyan az, csak ha vannak a kiinduló [. - azaz ahol ki lett adva a parancs] könyvtárban almappák, akkor azokba is készítsen megfelelő Playlist-et:
find . -type d | while read MAPPANEV; do $(cd "$MAPPANEV"; find . -maxdepth 1 -name "*.mp3" -type f > "Playlist_${PWD##*/}".m3u;); done
find . -name "*.m3u" -size 0 -type f -exec rm -i {} \;
ui.: a legutolsó sort óvatosan ad ki!

# Konvertálás karakterkészletek közt [pl.: ISO-8859-1-ből UTF-8-ba]


iconv -f ISO-8859-1 -t UTF-8 filenev
vagy pl.:
sh script_aminek_szoveges_kimenete_lesz | iconv -f ISO-8859-1 -t UTF-8 > filenev
ui.: Convert DOS newlines CR-LF to Unix/Linux format
ui2.: egy hup.hu link

2009. május 18., hétfő

# OpenWrt #0 - Flash the Firmware


#!/bin/bash
# tested on ASUS WL 500 GPv2 [OpenWrt Kamikaze 8.09]

clear
echo "It will take 7 easy steps: "
echo "1/7: To run this script, you have to be root. If you aren't then press Ctrl+C. If you have root privileges, press any key."
read
clear

echo '2/7: If you have internet connection press any key [I want to download the firmware].'
read
wget --timeout 10 --tries=2 "http://downloads.openwrt.org/kamikaze/8.09.1/brcm-2.4/openwrt-brcm-2.4-squashfs.trx"
echo "--------------------"
echo "Press Ctrl+C if it didnt download the firmware..."
read
clear

echo "3/7: If you have internet connection press any key [I want to install atftp on you're PC]."
read
apt-get install -fy --force-yes atftp
echo "--------------------"
echo "Press Ctrl+C if it didnt find the package from you're repository..."
read
clear

echo "4/7: Now unplug you're MODEM from the router, then press any key."
read
clear

echo "5/7: Put you're OpenWrt router in DIAGNOSTIC mode, then press any key. "
echo
echo "Make sure you're IP is eg.: 192.168.1.5, and you're gateway is 192.168.1.1"
echo "And don't forget to check that atftp isn't blocked by a firewall, then press any key."
read
atftp --trace --option "timeout 1" --option "mode octet" --put --local-file openwrt-brcm-2.4-squashfs.trx 192.168.1.1
clear
for i in {1..180}; do sleep 1; clear; echo "[$i/180 sec...] Please wait... meanwhile you can set you're connection back to DHCP."; done
clear

echo "6/7: ...OK! Please turn OFF then turn ON the router, then press any key."
read
clear
for i in {1..50}; do sleep 1; clear; echo "[$i/50 sec...] Waiting for router to boot... Please wait..."; done
dhclient
clear

echo '7/7: ...Now I will telnet the router then you MUST CHANGE the password ["passwd root" command], then reboot it [with the "reboot" command]!!!'
echo "After you changed the root password and rebooted the router, were done! Bye."
echo 'If a "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!" sign appear, when you want to SSH to the router, then you need to delete eg.: the "~/.ssh/" dir... '
echo "--------------------"
echo
telnet 192.168.1.1

ui.: ASUS WL 500 GPv2 -n lett tesztelve, mert az van a kezemben, de azért lehetne mást is választanih... [pl.: a v2-ből én FTP-n tudtam max kihozni 3 MByte/sec-et...]
ui2.: ha nem lenne elérhető flashelés után, akkor link

# OpenWrt #1 - Disable httpd [+move default port] & telnet for sure


#!/bin/ash
chmod 444 /etc/init.d/httpd
sed -i "s/80/48732/g" /etc/config/httpd
chmod 444 /etc/init.d/telnet
sync
ui.: Megfelelő port kiválasztása.

# OpenWrt #2 - Move default Dropbear port


sed -i "s/22/52316/g" /etc/config/dropbear
ui.: Megfelelő port kiválasztása.

# OpenWrt #3 - Set firewall policy to DROP


sed -i "s/REJECT/DROP/g" /etc/config/firewall
ui.: Mer' a REJECT túl RFC barát :D:D [mármint ez esetben ez ""baj""]

# OpenWrt #4 - Install openntpd & Set Hungarian TZ


#!/bin/ash
opkg update && opkg install openntpd
sed -i "s/UTC/UTC-2/g" /etc/config/system
sync

# OpenWrt #5 - Schedule something with cron [e.g.: upgrades, etc.]


#!/bin/ash

echo "1 4 * * 6 opkg update && opkg upgrade
0 4 * * * echo -e \"nameserver 208.67.222.222\\nnameserver 208.67.220.220\" > /tmp/resolv.conf.auto" > /etc/crontabs/root
chmod 755 /etc/crontabs/root
sync
pkill cron
/etc/init.d/cron restart

ui.: Jó, tudom, ütemezni [minden péntek reggel] egy repo frissítést & upgrade-et, hátha adtak ki valami frissítést nem a legbölcsebb rendelkezésre állás szempontjából, csak példa.

# OpenWrt - How to set automount@boot & SWAP@boot [USB HDD]


#!/bin/ash
# tested on ASUS WL 500 GPv2 [OpenWrt Kamikaze 8.09]
# echo "USB HDD: partition1: 512 MByte swap; partition2: * MByte for data... [EXT3]"

# Automount@boot #1
mkdir -p /mnt/hdd/
opkg update && opkg install kmod-usb2 kmod-usb-storage kmod-fs-ext3 fdisk screen e2fsprogs
clear
echo "Now use fdisk, and mkfs to make partitions on the USB HDD:"
echo "partition1: 512 MByte [SWAP]; partition2: * MByte for data... [EXT3]"
echo
fdisk -l
read
screen
sync
clear

# Automount@boot #2
echo "mkdir /mnt/hdd; mount "$(fdisk -l | awk '/Linux/ && /83/ {print $1}')" /mnt/hdd" > /etc/init.d/hdd
ln -s ../init.d/hdd /etc/rc.d/S45hdd
chmod 755 /etc/init.d/hdd
sync
/etc/init.d/hdd

# Set SWAP@boot on USB HDD
opkg install swap-utils
echo 'mkswap '$(fdisk -l | awk '/swap/ && /82/ {print $1}') >> /etc/init.d/hdd
echo 'swapon '$(fdisk -l | awk '/swap/ && /82/ {print $1}') >> /etc/init.d/hdd
sync
/etc/init.d/hdd
clear
mount
echo
free
read
ui.: előfordulhat egy-két apróság _néha_ egy USB HDD felismerésében
ui2.: Az fdisk-hez segítség [a példa alapján]:
fdisk /dev/scsi/host0/bus0/target0/lun0/disc

n
p
1
enter
+512mb
t
82

n
p
2
enter
enter
t
2
83

w
Hozzuk is létre a filerendszert:
mkfs.ext3 /dev/scsi/host0/bus0/target0/lun0/part2
ui3.: aki nem ismerné a screen-t, annak link

# OpenWrt - How to set NFS [on LAN]


Goal: Share videos/music on a network with an OpenWrt router [read only, anonym, UTF8 characters in file names too, router runs 24h a day, clients always connected]. Kamikaze 8.09.
On the router [if the shared folder is "/mnt/hdd/megosztas/" ]
#!/bin/ash
mkdir -p /mnt/hdd/megosztas/
chmod 555 -R /mnt/hdd/megosztas/
opkg update && opkg install unfs3
echo '/mnt/hdd/megosztas/ 192.168.1.0/255.255.255.0(ro)' >> /etc/exports
/etc/init.d/unfs3 enable

echo '#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.org
START=50

start() {
/etc/init.d/portmap restart
/usr/sbin/unfsd
}

stop() {
killall unfsd
}

restart() {
stop
sleep 1
start
}' > /etc/init.d/unfs3

sync
sleep 60

/etc/init.d/portmap stop
/etc/init.d/unfs3 restart
Client side [NFS related firewall settings]
#!/bin/bash
IPTABLES=$(which iptables)
$IPTABLES -A INPUT -i lo -s 127.0.0.1 -p udp --dport 111 -j ACCEPT
$IPTABLES -A INPUT -i lo -s 127.0.0.1 -p tcp --dport 111 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -m multiport --dport 111,2049 -j ACCEPT
$IPTABLES -A OUTPUT -p udp -m multiport --dport 111,2049 -j ACCEPT
Client side
#!/bin/bash
FELHNEV=$(w | awk '/x-session/ && /tty/ {print $1}')
mkdir -p /home/$FELHNEV/Desktop/Megosztas/
mount -vvv -t nfs 192.168.1.1:/mnt/hdd/megosztas/ /home/$FELHNEV/Desktop/Megosztas/ -o ro,noexec,nosuid,nodev,noatime,nolock,nfsvers=3
Client side - fstab
#!/bin/bash
FELHNEV=$(w | awk '/x-session/ && /tty/ {print $1}')
mkdir -p /home/$FELHNEV/Desktop/Megosztas/
echo "192.168.1.1:/mnt/hdd/megosztas/ /home/$FELHNEV/Desktop/Megosztas/ nfs ro,noexec,nosuid,nodev,noatime,nolock,nfsvers=3 0 0" >> /etc/fstab
mount -a

ui.: boccs az angol miatt, gyorsabb volt így
ui2.: A lazy unmount hasznos lehet egy esetleges ro NFS meghajtó lecsatoláskor: "umount -l /home/valaki/Desktop/Megosztas", miszerint aranyos dolgok történhetnek, ha nincs kapcsolat a routerrel.. :)

# OpenWrt - How to change WAN Mac address


Because the WAN part is the last one in the config file:
#### WAN configuration
config interface wan
option ifname "eth0.1"
option proto dhcp
Just append a line like this:
echo "option macaddr XX:XX:XX:XX:XX:XX" >> /etc/config/network
sync

# OpenWrt - How to set fixed IP for given Mac address [static lease]


echo "XX:XX:XX:XX:XX:XX 192.168.1.120" >> /etc/ethers.local sync

# OpenWRT - How to set OpenDNS, and block some FQDNs


OpenDNS:
#!/bin/ash
echo 'echo -e "nameserver 208.67.222.222\nnameserver 208.67.220.220" > /tmp/resolv.conf.auto' > /etc/init.d/opendns
chmod 755 /etc/init.d/opendns
ln -s ../init.d/opendns /etc/rc.d/S99opendns
Block a few FQDNs:
wget "http://pastebin.com/pastebin.php?dl=f585ae167" -O /etc/hosts.local

# OpenWRT - Where can I see the log's?


Just type:
logread

2009. május 12., kedd

# Security Tools List


http://securitytoolslist.domandhost.com/
http://backtrack.offensive-security.com/index.php?title=Tools

2009. május 9., szombat

# audio from wmv to mp3


#!/bin/bash
INPUT_WMV=valami.wmv
OUTPUT_MP3=$(echo $INPUT_WMV | sed "s/.wmv//g")
mencoder -ovc frameno -oac mp3lame -o temporary.avi $INPUT_WMV
mplayer -dumpaudio temporary.avi
mv stream.dump $OUTPUT_MP3.mp3
rm -f temporary.avi
ui.: Forrás

2009. május 2., szombat

# MAC address megállapítása scriptől [akár helyi, akár hálózaton]


Ha már volt egy "Külső IP cím megállapítása scriptből", legyen esetleg egy MAC-re is :) .
root-ként helyi:
ifconfig eth0 | awk '/HWaddr/ {print $5}'
"felhasználóként", helyi [link!!]:
cat /sys/class/net/eth0/address
root-ként, gyűjtse be ami elérhető az adott hálózaton [IPv4]: [timeout kell - ez az egy tipp [package] volt egy mailing listről]
#!/bin/bash
timeout 15 netdiscover -r 192.168.1.0/24 > netdisc.tmp
awk '/192./ {print $1"-"$2}' netdisc.tmp | grep -v "scanning" | sort -u >> netdisc.list
rm -f netdisc.tmp
ui.: ha a terminál az előbbi script lefutása után "érdekesen" viselkedne :D akkor olvasd el ezt :D
root-ként, IPv4 cím szerint a hálózaton ["tuning" :D]:
arping -c 1 192.168.1.1 | awk '/192.168.1.1/ && /:/ {print $4}'
vagy:
ping -c 1 192.168.1.1 >/dev/null; arp -a | awk '/192.168.1.1/ {print $4}'
"felhasználóként", IPv4 cím szerint a hálózaton:
ping -c 1 192.168.1.1 >/dev/null; awk '/192.168.1.1/ {print $4}' /proc/net/arp
ui.: Forrás!!