Script (message d'erreur)
Résolu
KEGA
Messages postés
102
Date d'inscription
Statut
Membre
Dernière intervention
-
Exileur Messages postés 1475 Date d'inscription Statut Membre Dernière intervention -
Exileur Messages postés 1475 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un script sur lequel je travailles depuis mais sans jusqu'a présent avoir trouvé une solution.
il a pour principal but d'analyser les logs des users qui se sont connectés à un serveur linux et de ressortir les robots qui se sont logés comme étant des users ( Partant du principe que Si en 1 S on a : user loged in+user modified password + user logged off = alors il s'agit d'un robot (bot) et je dois dans mon script listés tous ceux-ci.Cnf : https://pastebin.com/Fy9pgHa8
Mon probleme c'est que toujours dans mes recherches je me suis appercu que une personne avait déjà crée un script à ce sujet dont je veux m'en inspirer ; Mais quand j'executes le script https://pastebin.com/7V6Msxbp que voici en question j'ai des messages d'erreur suivant "
AvenirTec@Gilles-Etame /cygdrive/c/Users/AvenirTec/Desktop
$ ./bot.sh
./bot.sh: ligne 15: erreur de syntaxe près du symbole inattendu « $'\r' »
'/bot.sh: ligne 15: ` ((rnum++)) "
Rassurez vous qu"en passant par le terminal de Centos ou meme celui de l'emulateur Cygwig j'ai le meme message d'erreur.
Je ne suis qu'un débutant sur Unix donc aidez moi svp!!!!
Cdlt;
j'ai un script sur lequel je travailles depuis mais sans jusqu'a présent avoir trouvé une solution.
il a pour principal but d'analyser les logs des users qui se sont connectés à un serveur linux et de ressortir les robots qui se sont logés comme étant des users ( Partant du principe que Si en 1 S on a : user loged in+user modified password + user logged off = alors il s'agit d'un robot (bot) et je dois dans mon script listés tous ceux-ci.Cnf : https://pastebin.com/Fy9pgHa8
Mon probleme c'est que toujours dans mes recherches je me suis appercu que une personne avait déjà crée un script à ce sujet dont je veux m'en inspirer ; Mais quand j'executes le script https://pastebin.com/7V6Msxbp que voici en question j'ai des messages d'erreur suivant "
AvenirTec@Gilles-Etame /cygdrive/c/Users/AvenirTec/Desktop
$ ./bot.sh
./bot.sh: ligne 15: erreur de syntaxe près du symbole inattendu « $'\r' »
'/bot.sh: ligne 15: ` ((rnum++)) "
Rassurez vous qu"en passant par le terminal de Centos ou meme celui de l'emulateur Cygwig j'ai le meme message d'erreur.
Je ne suis qu'un débutant sur Unix donc aidez moi svp!!!!
Cdlt;
A voir également:
- Script (message d'erreur)
- Recuperer message whatsapp supprimé - Guide
- Script vidéo youtube - Guide
- Message supprimé whatsapp - Guide
- Message absence thunderbird - Guide
- Epingler un message whatsapp - Accueil - Messagerie instantanée
2 réponses
Saloute,
Aller, c'est nowel :
En revanche, la connexion, changement de mdp etc a l'air bien cyclique. Pas sure que ce script fonctionne si plusieurs utilisateurs ce connecte en méme temps, ce deconnecte a des heures differentes etc... (nextline & nextline2) ça peut vite faire peu :)
Joyeux Noël à tous, des bisous.
Aller, c'est nowel :
#!/bin/bash
if [ $# -eq 0 ]
then
echo "Vous devez indiquer un fichier à parser : PARSER.bash file.log"
exit
fi
if ! [ -f $1 ]
then
echo "le fichier $(pwd)/$1 n'existe pas."
exit
else
FPATH="$(pwd)/$1"
FNAME=$1
fi
touch tmpuserlist
RNUM=1
while read LINE
do
if [[ $LINE =~ "user logged in" ]]
then
USER=$(head -n $RNUM $FNAME| tail -n1 | awk -F '|' '{print $3}')
TSTAMP=$(head -n $RNUM $FNAME | tail -n1 | awk -F '|' '{print $1}')
NEXTLINE=$(head -n $((RNUM + 1)) $FNAME | tail -n1)
NEXTLINE2=$(head -n $((RNUM + 2)) $FNAME | tail -n1)
if [[ "$NEXTLINE" == *"$USER"* && "$NEXTLINE" == *"user changed password"* && "$NEXTLINE" == *"$TSTAMP"* && "$NEXTLINE2" == *"$USER"* && "$NEXTLINE2" == *"user logged off"* && "$NEXTLINE2" == *"$TSTAMP"* ]]
then
echo $USER >> tmpuserlist
fi
fi
((RNUM++))
done < $FNAME
cat tmpuserlist | sort | uniq
rm -f tmpuserlist
En revanche, la connexion, changement de mdp etc a l'air bien cyclique. Pas sure que ce script fonctionne si plusieurs utilisateurs ce connecte en méme temps, ce deconnecte a des heures differentes etc... (nextline & nextline2) ça peut vite faire peu :)
Joyeux Noël à tous, des bisous.
Salut,
Affiche-nous ici, entre les balises <code> </code> la sortie de
mais rassurez vous que je l'ai converti déjà pour en script linux par la commande Dos2UnixPourtant l'erreur (
ligne 15: erreur de syntaxe près du symbole inattendu « $'\r' ») indique le contraire ;-(
Affiche-nous ici, entre les balises <code> </code> la sortie de
cat -A bot.shs'il te plaît, merci.
Merci pour ta prompte réaction; ci-joints la sortie de la sortie de "cat -A bot.sh"
AvenirTec@Gilles-Etame /cygdrive/c/Users/AvenirTec/Desktop
$ cat -t bot.sh
$ cat file.log ^M
Mon, 22 Aug 2016 13:15:39 +0200|178.57.66.225|fxsciaqulmlk| - |user logged in| - ^M
Mon, 22 Aug 2016 13:15:39 +0200|178.57.66.225|fxsciaqulmlk| - |user changed pass word| -^M
Mon, 22 Aug 2016 13:15:39 +0200|178.57.66.225|fxsciaqulmlk| - |user logged off| -^M
Mon, 22 Aug 2016 13:15:42 +0200|178.57.66.225|faaaaaa11111| - |user logged in| - ^M
Mon, 22 Aug 2016 13:15:49 +0200|178.57.66.215|terdsfsdfsdf| - |user logged in| - ^M
Mon, 22 Aug 2016 13:15:49 +0200|178.57.66.215|terdsfsdfsdf| - |user changed pass word| -^M
Mon, 22 Aug 2016 13:15:49 +0200|178.57.66.215|terdsfsdfsdf| - |user logged off| -^M
Mon, 22 Aug 2016 13:15:59 +0200|178.57.66.205|erdsfsdfsdf| - |user logged in| -^ M
Mon, 22 Aug 2016 13:15:59 +0200|178.57.66.205|erdsfsdfsdf| - |user logged in| -^ M
Mon, 22 Aug 2016 13:15:59 +0200|178.57.66.205|erdsfsdfsdf| - |user changed passw ord| -^M
Mon, 22 Aug 2016 13:15:59 +0200|178.57.66.205|erdsfsdfsdf| - |user logged off| - ^M
Mon, 22 Aug 2016 13:17:50 +0200|178.57.66.205|abcbbabab| - |user logged in| -^M
Mon, 22 Aug 2016 13:17:50 +0200|178.57.66.205|abcbbabab| - |user changed passwor d| -^M
Mon, 22 Aug 2016 13:17:50 +0200|178.57.66.205|abcbbabab| - |user changed profile | -^M
Mon, 22 Aug 2016 13:17:50 +0200|178.57.66.205|abcbbabab| - |user logged off| -^M
Mon, 22 Aug 2016 13:19:19 +0200|178.56.66.225|fxsciulmla| - |user logged in| -^M
Mon, 22 Aug 2016 13:19:19 +0200|178.56.66.225|fxsciulmla| - |user changed passwo rd| -^M
Mon, 22 Aug 2016 13:19:19 +0200|178.56.66.225|fxsciulmla| - |user logged off| -^ M
Mon, 22 Aug 2016 13:20:42 +0200|178.57.67.225|faaaa0a1111| - |user logged in| -^ M
$ cat parser ^M
#!/bin/bash^M
fname=$1^M
rnum=1^M
while read line^M
do^M
if [[ $line =~ "user logged in" ]]; then^M
user=`head -n $rnum $fname | tail -n1 | awk -F'|' '{print $3}'`^M
tstamp=`head -n $rnum $fname | tail -n1 | awk -F'|' '{print $1}'`^M
nextline=`head -n $[$rnum+1] $fname | tail -n1`^M
nextline2=`head -n $[$rnum+2] $fname | tail -n1`^M
if [[ $nextline =~ $user && $nextline =~ "user changed password" && $nex tline =~ "$tstamp" && $nextline2 =~ $user && $nextline2 =~ "user logged off" && $nextline2 =~ "$tstamp" ]]; then^M
echo $user >> tmpuserlist ^M
fi^M
fi^M
((rnum++))^M
done <$fname^M
cat tmpuserlist | sort | uniq^M
rm -f tmpuserlist^M
./parser file.log ^M
erdsfsdfsdf^M
fxsciaqulmlk^M
fxsciulmla^M
terdsfsdfsdf^M
$
AvenirTec@Gilles-Etame /cygdrive/c/Users/AvenirTec/Desktop
$ cat -t bot.sh
$ cat file.log ^M
Mon, 22 Aug 2016 13:15:39 +0200|178.57.66.225|fxsciaqulmlk| - |user logged in| - ^M
Mon, 22 Aug 2016 13:15:39 +0200|178.57.66.225|fxsciaqulmlk| - |user changed pass word| -^M
Mon, 22 Aug 2016 13:15:39 +0200|178.57.66.225|fxsciaqulmlk| - |user logged off| -^M
Mon, 22 Aug 2016 13:15:42 +0200|178.57.66.225|faaaaaa11111| - |user logged in| - ^M
Mon, 22 Aug 2016 13:15:49 +0200|178.57.66.215|terdsfsdfsdf| - |user logged in| - ^M
Mon, 22 Aug 2016 13:15:49 +0200|178.57.66.215|terdsfsdfsdf| - |user changed pass word| -^M
Mon, 22 Aug 2016 13:15:49 +0200|178.57.66.215|terdsfsdfsdf| - |user logged off| -^M
Mon, 22 Aug 2016 13:15:59 +0200|178.57.66.205|erdsfsdfsdf| - |user logged in| -^ M
Mon, 22 Aug 2016 13:15:59 +0200|178.57.66.205|erdsfsdfsdf| - |user logged in| -^ M
Mon, 22 Aug 2016 13:15:59 +0200|178.57.66.205|erdsfsdfsdf| - |user changed passw ord| -^M
Mon, 22 Aug 2016 13:15:59 +0200|178.57.66.205|erdsfsdfsdf| - |user logged off| - ^M
Mon, 22 Aug 2016 13:17:50 +0200|178.57.66.205|abcbbabab| - |user logged in| -^M
Mon, 22 Aug 2016 13:17:50 +0200|178.57.66.205|abcbbabab| - |user changed passwor d| -^M
Mon, 22 Aug 2016 13:17:50 +0200|178.57.66.205|abcbbabab| - |user changed profile | -^M
Mon, 22 Aug 2016 13:17:50 +0200|178.57.66.205|abcbbabab| - |user logged off| -^M
Mon, 22 Aug 2016 13:19:19 +0200|178.56.66.225|fxsciulmla| - |user logged in| -^M
Mon, 22 Aug 2016 13:19:19 +0200|178.56.66.225|fxsciulmla| - |user changed passwo rd| -^M
Mon, 22 Aug 2016 13:19:19 +0200|178.56.66.225|fxsciulmla| - |user logged off| -^ M
Mon, 22 Aug 2016 13:20:42 +0200|178.57.67.225|faaaa0a1111| - |user logged in| -^ M
$ cat parser ^M
#!/bin/bash^M
fname=$1^M
rnum=1^M
while read line^M
do^M
if [[ $line =~ "user logged in" ]]; then^M
user=`head -n $rnum $fname | tail -n1 | awk -F'|' '{print $3}'`^M
tstamp=`head -n $rnum $fname | tail -n1 | awk -F'|' '{print $1}'`^M
nextline=`head -n $[$rnum+1] $fname | tail -n1`^M
nextline2=`head -n $[$rnum+2] $fname | tail -n1`^M
if [[ $nextline =~ $user && $nextline =~ "user changed password" && $nex tline =~ "$tstamp" && $nextline2 =~ $user && $nextline2 =~ "user logged off" && $nextline2 =~ "$tstamp" ]]; then^M
echo $user >> tmpuserlist ^M
fi^M
fi^M
((rnum++))^M
done <$fname^M
cat tmpuserlist | sort | uniq^M
rm -f tmpuserlist^M
./parser file.log ^M
erdsfsdfsdf^M
fxsciaqulmlk^M
fxsciulmla^M
terdsfsdfsdf^M
$
SVP Que quelqu'un essaye aussi de me compiler voir executer le programme en question que voici :
$ cat file.log
Mon, 22 Aug 2016 13:15:39 +0200|178.57.66.225|fxsciaqulmlk| - |user logged in| -
Mon, 22 Aug 2016 13:15:39 +0200|178.57.66.225|fxsciaqulmlk| - |user changed password| -
Mon, 22 Aug 2016 13:15:39 +0200|178.57.66.225|fxsciaqulmlk| - |user logged off| -
Mon, 22 Aug 2016 13:15:42 +0200|178.57.66.225|faaaaaa11111| - |user logged in| -
Mon, 22 Aug 2016 13:15:49 +0200|178.57.66.215|terdsfsdfsdf| - |user logged in| -
Mon, 22 Aug 2016 13:15:49 +0200|178.57.66.215|terdsfsdfsdf| - |user changed password| -
Mon, 22 Aug 2016 13:15:49 +0200|178.57.66.215|terdsfsdfsdf| - |user logged off| -
Mon, 22 Aug 2016 13:15:59 +0200|178.57.66.205|erdsfsdfsdf| - |user logged in| -
Mon, 22 Aug 2016 13:15:59 +0200|178.57.66.205|erdsfsdfsdf| - |user logged in| -
Mon, 22 Aug 2016 13:15:59 +0200|178.57.66.205|erdsfsdfsdf| - |user changed password| -
Mon, 22 Aug 2016 13:15:59 +0200|178.57.66.205|erdsfsdfsdf| - |user logged off| -
Mon, 22 Aug 2016 13:17:50 +0200|178.57.66.205|abcbbabab| - |user logged in| -
Mon, 22 Aug 2016 13:17:50 +0200|178.57.66.205|abcbbabab| - |user changed password| -
Mon, 22 Aug 2016 13:17:50 +0200|178.57.66.205|abcbbabab| - |user changed profile| -
Mon, 22 Aug 2016 13:17:50 +0200|178.57.66.205|abcbbabab| - |user logged off| -
Mon, 22 Aug 2016 13:19:19 +0200|178.56.66.225|fxsciulmla| - |user logged in| -
Mon, 22 Aug 2016 13:19:19 +0200|178.56.66.225|fxsciulmla| - |user changed password| -
Mon, 22 Aug 2016 13:19:19 +0200|178.56.66.225|fxsciulmla| - |user logged off| -
Mon, 22 Aug 2016 13:20:42 +0200|178.57.67.225|faaaa0a1111| - |user logged in| -
$ cat parser
#!/bin/bash
fname=$1
rnum=1
while read line
do
if [[ $line =~ "user logged in" ]]; then
user=`head -n $rnum $fname | tail -n1 | awk -F'|' '{print $3}'`
tstamp=`head -n $rnum $fname | tail -n1 | awk -F'|' '{print $1}'`
nextline=`head -n $[$rnum+1] $fname | tail -n1`
nextline2=`head -n $[$rnum+2] $fname | tail -n1`
if [[ $nextline =~ $user && $nextline =~ "user changed password" && $nextline =~ "$tstamp" && $nextline2 =~ $user && $nextline2 =~ "user logged off" && $nextline2 =~ "$tstamp" ]]; then
echo $user >> tmpuserlist
fi
fi
((rnum++))
done <$fname
cat tmpuserlist | sort | uniq
rm -f tmpuserlist
./parser file.log
erdsfsdfsdf
fxsciaqulmlk
fxsciulmla
terdsfsdfsdf
$
Moi je n'y arrive pas!!
$ cat file.log
Mon, 22 Aug 2016 13:15:39 +0200|178.57.66.225|fxsciaqulmlk| - |user logged in| -
Mon, 22 Aug 2016 13:15:39 +0200|178.57.66.225|fxsciaqulmlk| - |user changed password| -
Mon, 22 Aug 2016 13:15:39 +0200|178.57.66.225|fxsciaqulmlk| - |user logged off| -
Mon, 22 Aug 2016 13:15:42 +0200|178.57.66.225|faaaaaa11111| - |user logged in| -
Mon, 22 Aug 2016 13:15:49 +0200|178.57.66.215|terdsfsdfsdf| - |user logged in| -
Mon, 22 Aug 2016 13:15:49 +0200|178.57.66.215|terdsfsdfsdf| - |user changed password| -
Mon, 22 Aug 2016 13:15:49 +0200|178.57.66.215|terdsfsdfsdf| - |user logged off| -
Mon, 22 Aug 2016 13:15:59 +0200|178.57.66.205|erdsfsdfsdf| - |user logged in| -
Mon, 22 Aug 2016 13:15:59 +0200|178.57.66.205|erdsfsdfsdf| - |user logged in| -
Mon, 22 Aug 2016 13:15:59 +0200|178.57.66.205|erdsfsdfsdf| - |user changed password| -
Mon, 22 Aug 2016 13:15:59 +0200|178.57.66.205|erdsfsdfsdf| - |user logged off| -
Mon, 22 Aug 2016 13:17:50 +0200|178.57.66.205|abcbbabab| - |user logged in| -
Mon, 22 Aug 2016 13:17:50 +0200|178.57.66.205|abcbbabab| - |user changed password| -
Mon, 22 Aug 2016 13:17:50 +0200|178.57.66.205|abcbbabab| - |user changed profile| -
Mon, 22 Aug 2016 13:17:50 +0200|178.57.66.205|abcbbabab| - |user logged off| -
Mon, 22 Aug 2016 13:19:19 +0200|178.56.66.225|fxsciulmla| - |user logged in| -
Mon, 22 Aug 2016 13:19:19 +0200|178.56.66.225|fxsciulmla| - |user changed password| -
Mon, 22 Aug 2016 13:19:19 +0200|178.56.66.225|fxsciulmla| - |user logged off| -
Mon, 22 Aug 2016 13:20:42 +0200|178.57.67.225|faaaa0a1111| - |user logged in| -
$ cat parser
#!/bin/bash
fname=$1
rnum=1
while read line
do
if [[ $line =~ "user logged in" ]]; then
user=`head -n $rnum $fname | tail -n1 | awk -F'|' '{print $3}'`
tstamp=`head -n $rnum $fname | tail -n1 | awk -F'|' '{print $1}'`
nextline=`head -n $[$rnum+1] $fname | tail -n1`
nextline2=`head -n $[$rnum+2] $fname | tail -n1`
if [[ $nextline =~ $user && $nextline =~ "user changed password" && $nextline =~ "$tstamp" && $nextline2 =~ $user && $nextline2 =~ "user logged off" && $nextline2 =~ "$tstamp" ]]; then
echo $user >> tmpuserlist
fi
fi
((rnum++))
done <$fname
cat tmpuserlist | sort | uniq
rm -f tmpuserlist
./parser file.log
erdsfsdfsdf
fxsciaqulmlk
fxsciulmla
terdsfsdfsdf
$
Moi je n'y arrive pas!!
tant que tu n'utiliseras pas les balises CODES (le bouton
« Moi je n'y arrive pas!! »
que se passe-t-il ? un message d'erreur ?
PS : t'as appris à coder quand, il y a plus de vingt ans ?
il y a longtemps qu'on n'utilise plus
<>) en séparant les différents éléments (affichage des données, contenu du script, exécution...) je n'y toucherai pas.
« Moi je n'y arrive pas!! »
que se passe-t-il ? un message d'erreur ?
PS : t'as appris à coder quand, il y a plus de vingt ans ?
il y a longtemps qu'on n'utilise plus
` `, et
$[ ].
SHELL != BASH
Je te dis infiniment merci pour ta prompte réaction.Ton programme fonctionne parfaitement je
l'ai juste amélioré dans la forme.
Merci encore et surtout Merci!!!!!!!
Ca me plairait vraimment d'echanger avec toi (Biensur si c'est possible en ib pour certains projets);
Cdlt.
Je garde un oeil sur le forum linux ;)
Eventuellement tu peux nous montrer le code que tu as en finalité ? (avec tes modifs)
A plus
par contre, parfois .