Yahoo Messenger Sniffer - Tutorial
March 13, 2008
Linuxul ofera multe posibilitati de a afla amanunte despre reteau ta sau despre userii din retea pe care ii ai.
Acum ceva zile in urma am incercat sa construiesc un sniffer pentru ca mai apoi sa ajung ca insasi distributia de Linux vine cu un sniffer foarte frumos, pe care daca stii sa-l folosesti iti poate oferi toate informatiile. TCPDUMP
Asadar, pentru cei interesati in continuare va ofer mosntra mea de sniff realizat aici ptr Yahoo Messenger.
[root#server /]# tcpdump -i eth0 src or dst port 5050 -s 1000 -A -l -t > file.log
Pentru cine va incerca comanda respectiva, va constata ca fisierul destinatie file.log contine o sumedenie de linii inutile. Asadar am considerat ca ar fi cazul sa mai subtiez putintel continutul pentru a extrage exact ceea ce ne intereseaza exact:
[root@server /]# pico /bin/parser
#! /bin/bashecho -n
echo “Parsing file [ $1 ] to file [ $2 ]”
echo -n
echo -n
cat $1 |grep ‘YMSG’ > /tmp/2107xxtmp.tmp
cat /tmp/2107xxtmp.tmp | grep -v ‘PEERTOPEER’ > /tmp/2108xxtmp.tmp
cat /tmp/2108xxtmp.tmp | grep -v ‘yahoofs’ > /tmp/2107xxtmp.tmp
cat /tmp/2107xxtmp.tmp | grep -v ‘..47..’ > /tmp/2108xxtmp.tmp
cat /tmp/2108xxtmp.tmp | grep -v ‘Skin’ > /tmp/2107xxtmp.tmp
cat /tmp/2107xxtmp.tmp | grep -v ‘..13..’ > /tmp/2108xxtmp.tmp
cat /tmp/2108xxtmp.tmp | grep -v ‘TYPING’ > /tmp/2107xxtmp.tmp
mv /tmp/2107xxtmp.tmp /tmp/2108xxtmp.tmp
cat /tmp/2108xxtmp.tmp | gawk -F ‘..97..’ ‘{print $1}’ > /tmp/2107xxtmp.tmp
cat /tmp/2107xxtmp.tmp | gawk -F ‘YMSG’ ‘{print $2}’ > /tmp/2108xxtmp.tmp
cat /tmp/2108xxtmp.tmp | gawk -F ‘..14..’ ‘{print $1, $2}’ > $2
echo “Parse done… type pico $2 to view results”
rm -f /tmp/2107xxtmp.tmp
rm -f /tmp/2108xxtmp.tmp
[root@server /]# chmod 777 /bin/parser
[root@server /]# parser /root/file.log /root/clean.log
Nota: Veti obeserva ca rezultatul mai contine ceva caractere. Incerc sa scap de ele, dar asta intr-o versiune viitoare
postat de KeepTheDistance la: 23-08-2005, 20:53
ngrep |perl ymsg.pl
cat ymsg.pl
#!/usr/bin/perlwhile () {
if ( m/YMSG(.*)\.\.49\.\.TYPING\.\.1\.\.(\w+)\.\.(.*)\.\.5\.\.(\w+)\.\.(.*)/ ) {
print(”$2 is typing to $4\n”);
}
if ( m/YMSG(.*)\.\.75\.\.(\w+)\.\.\d\.\.(\w+)\.\.(.*)\.\.14\.\.(.*)\.\./ ) {
print(”$2 recieved a message from $3: $5\n”);
}
if ( m/YMSG(.*)\.\.1\.\.(\w+)\.\.5\.\.(\w+)\.\.(.*)\.\.14\.\.(.*)\.\.63\.\.\;/ ) {
print(”$2 sent a message to $3: $5\n”);
}
}
postat de Morphyx la: 11-01-2006, 02:31
Nota: KeepTheDistance si DoubleSense nu-si asuma responsabilitatea pentru eventualele nefunctionari ale scriptului sau eventualele pagube asupra vreo-unui server prin folosirea incorecta a scriptului de mai sus.
Deasemnea KeepTheDistance si DoubleSense nu isi asma riscul privind incidenta legilor din Romania asupra prelucrarii datelor cu caracter personal si protectia vietii private. (legea 506/2004 -> http://www.legi-internet.ro/date_pers.html





