Filtering .log files, with cat, grep, cut, sort, and uniq

2020 ж. 21 Сәу.
75 076 Рет қаралды

Using "cat", "grep", "cut", "sort", "uniq", and "wc" ALL in one line, I show you how to filter information from a .log file, and you find out just how important strong passwords really are. This video was recorded during an online instructional session and is intended for educational purposes.

Пікірлер
  • Doing this basically as a task for multiple questions in Uni. This is the only video that really made it click. Please do more tutorials, your content is fantastic!

    @xiMoshyx@xiMoshyx2 жыл бұрын
    • Thank you mate. I work in IT. I don't get a lot of time. Any suggestions on a next video?

      @hackpens2246@hackpens22462 жыл бұрын
    • ​@@hackpens2246we dont know wjat we dont know 😂

      @brycecolwell4304@brycecolwell43045 ай бұрын
  • Great introduction to the topic, a few things that i think are worth mentioning, once people have learned the commands that were being demonstrated: If the logs your using have a variable amount of spaces between columns (to make things look nice), that can mess up using cut, to get around that you can use `sed 's/ */ /g` to replace any n spaces in a row with a single space. You can also use awk to replace the sed/cut combo, but that's a whole different topic. uniq also has the extremely useful -c flag which will add a count of how many instances of each item there were. And as an aside if people wanted to cut down on the number of commands used you can do things like `grep expression filepath` or `sort -u` (on a new enough system), but in the context of this video it is probably better that people learn about the existence of the stand alone utilities, which can be more versatile. Once you're confident in using the tools mentioned in the video, but you still find that you need more granularity than the grep/grep -v combo, you can use globbing, which involves special characters that represent concepts like "the start of a line"(^) or the wildcard "any thing"(*) (for example `grep "^Hello*World"` means any line that starts with Hello, and at some point also contains World, with anything or nothing in-between/after). If that still isn't enough you might want to look into using regular expressions with grep, but they can be even harder to wrap your mind around if you've never used them before. (If you don't understand globbing or re really are just from reading this that's fine, I'm just trying to give you the right terms to Google, because once you know something's name it becomes infinitely easier to find resources on them)

    @yosefberger6259@yosefberger625911 ай бұрын
  • I am checking this video 3year after upload. The video tutorial is on point and clear.

    @msnraju97@msnraju9711 ай бұрын
  • I was searching for all command combinations in reading logs to extract an info. this video is great.

    @vadivelan4228@vadivelan4228 Жыл бұрын
  • You are very good at Linux, hope you continue sharing your knowledge!

    @DarwinMatosAlvarez@DarwinMatosAlvarez2 жыл бұрын
  • that was one of the most useful and simple tutorial i've ever seen

    @radiantmind1079@radiantmind10792 жыл бұрын
    • Glad you think so!

      @hackpens2246@hackpens2246 Жыл бұрын
  • This is a wonderful video. A perfect set to be learnt in order to crack interviews.

    @csangeetc@csangeetc3 жыл бұрын
    • Glad you think so!

      @hackpens2246@hackpens22462 жыл бұрын
  • This video has been hugely helpful to me when parsing through log files of numerous types manually (IPtables, Netflow, SSH). Thank you very much mate.

    @Sparooga@Sparooga Жыл бұрын
    • Fantastic to hear mate

      @hackpens2246@hackpens2246 Жыл бұрын
  • Simple and straightforward ❤

    @richardazu7445@richardazu7445 Жыл бұрын
  • Awesome tutorial on cat and grep, Thanks...

    @dune4095@dune4095 Жыл бұрын
  • You sir are incredible at teaching

    @Arbnor93@Arbnor93 Жыл бұрын
  • 😊 great videos 👍 thank you!!!

    @EdHatesNoobTubers@EdHatesNoobTubers8 ай бұрын
  • Thanks.. very helpful and will be using this as a reference from now on

    @genghismike6186@genghismike61867 ай бұрын
  • Thanks a lot that's very helpfull I would like to see more cases of analyzing the logs, to learn from you build more experience in that regard thanks

    @basheeral-momani2032@basheeral-momani2032 Жыл бұрын
  • Awesome video! Please don’t stop making Linux, bash, ethical hacking related videos. Thank you. Subscribed!! 😊

    @ben-cb5er@ben-cb5er Жыл бұрын
  • Thanks! That was informative. The only thing I would have done differently is flip the order of uniq -d and sort. Less items to sort after uniq filters them out.

    @fredflintstone505@fredflintstone50511 ай бұрын
  • Thankyou this video was exactly what i needed

    @messileo919@messileo9194 ай бұрын
  • Concept explained well in a short video.

    @geetabasker7127@geetabasker7127 Жыл бұрын
  • Short and very usefull. Impressed :)

    @siddheshnavse1056@siddheshnavse10562 жыл бұрын
  • Great info and an enjoyable watch 👍👏

    @sirprancealott2003@sirprancealott2003 Жыл бұрын
  • thanks for the amazing video love it

    @MAX-nv6yj@MAX-nv6yj5 ай бұрын
  • Honestly i was looking for a long time for some good videos for linux, and sir I can tell you, your videos are gold! Thx a lot!

    @xiandron574@xiandron574 Жыл бұрын
    • Glad to hear that!

      @hackpens2246@hackpens2246 Жыл бұрын
  • great video, grep -v is quite useful. thanks for sharing this

    @aravind4444@aravind44442 жыл бұрын
    • Glad it was helpful!

      @hackpens2246@hackpens22462 жыл бұрын
  • you have a great explanation way

    @nabilsoliman4640@nabilsoliman46402 жыл бұрын
    • Glad you think so!

      @hackpens2246@hackpens2246 Жыл бұрын
  • Thanks for a great vid!

    @tamojitchatterjee3411@tamojitchatterjee34112 жыл бұрын
  • thank you this is very helpful

    @muzamilabbasi@muzamilabbasi Жыл бұрын
  • Very useful tutorial for me

    @subbu4754@subbu47542 жыл бұрын
  • Muy buen video, gracias por compartir, saludos desde México

    @gustavotobias7681@gustavotobias76815 ай бұрын
  • YES YES YES YES!! MORE OF THIS!!

    @ITsikkerhet@ITsikkerhet2 жыл бұрын
  • Thank you!

    @makopafruit@makopafruitКүн бұрын
  • It would be nice to see some range greps, meaning pull out all the IP's that hit the systems between 20:00 and 22:00 or something like that

    @gussta1@gussta13 жыл бұрын
    • Using - -since .... - -until ....

      @dsdcp@dsdcp2 жыл бұрын
  • Good vid, thank you

    @cainanashton@cainanashton3 ай бұрын
  • Gold sir 🔥

    @pjj7466@pjj7466 Жыл бұрын
  • @Hackpens very informative video mate. Thanks for sharing. What is this tool you are using? Do you have any video for beginner? I really need to learn this stuff. Kindly help. Thanks again.

    @BilalA42@BilalA422 жыл бұрын
  • Nice tutorial. I'm interested in what you have on that server that is gaining that much attention.

    @just-watch-this@just-watch-this2 жыл бұрын
    • Thank you. That server has nothing accept a redundant web site on it, but the site name has the word "hack" in it, and the hackers don't know it's not worth hacking. I feel sorry that they try haha

      @hackpens2246@hackpens22462 жыл бұрын
    • ​@@hackpens2246so u say 😊

      @brycecolwell4304@brycecolwell43045 ай бұрын
  • thank you for this helpful video for a dummy like me!

    @boardgamegirly@boardgamegirly3 жыл бұрын
    • Glad it was helpful!

      @hackpens2246@hackpens22462 жыл бұрын
  • If you are trying to sort files that arent perfectly stacked in order so you can say what line you want to cut at, then i find it easier to use awk

    @viagra5207@viagra52072 жыл бұрын
    • I like that too. That´s for another video :)

      @hackpens2246@hackpens2246 Жыл бұрын
  • From description: > _"I show you how to filter information from a .log file, and you find out just how important strong passwords really are."_ i always wondered that pattern matching has smth to do with password security, but then i thought, you have to have passwords to apply pattern matching on 'em right? 'cz the password input field of a site doesn't accept regex, and generating exhaustive strings from regex doesn't help either... so, what are scenario we are imagining for talking about regex in context of secure passwords?

    @yash1152@yash1152 Жыл бұрын
  • your awesome thank you Sir

    @MoshNbreakz@MoshNbreakz Жыл бұрын
    • So are you. Thank you!

      @hackpens2246@hackpens2246 Жыл бұрын
  • 16 th field from experience still blow away

    @brahimayoada2657@brahimayoada2657 Жыл бұрын
  • Back in late 90's I wrote a script to track backup take useage.

    @CaribouDataScience@CaribouDataScience Жыл бұрын
    • Please show us!

      @hackpens2246@hackpens2246 Жыл бұрын
  • Hi, great videos again :D Is this amaount of tried logins normal ? If so, this is a bit scary... Is there a way to "hide" the server ? Im a beginner, pls excuse a potential dumb questions/statement.

    @comic-typ5919@comic-typ5919 Жыл бұрын
  • You want the duplicates if they are from different source IP addresses as this means that different people have tried the same user names to access your system

    @XxLuvverofMusicxX@XxLuvverofMusicxX Жыл бұрын
    • I like the way you think ;)

      @hackpens2246@hackpens2246 Жыл бұрын
  • thank you

    @waliabbas@waliabbas2 жыл бұрын
    • You're welcome!

      @hackpens2246@hackpens22462 жыл бұрын
  • Now dump all the unique IPs into a text file, and run nslookup on each one. $50 says they all are located in China or Russia. At least %98-99 of them. At least that's what I always end up finding.

    @paaao@paaao10 ай бұрын
  • Good

    @kasthurishravankumarhpc@kasthurishravankumarhpc Жыл бұрын
  • Cool

    @bunnybabu1162@bunnybabu1162 Жыл бұрын
  • genius

    @heli0s359@heli0s35927 күн бұрын
  • hOW CAN I SEE ALL FILES ON HARD DRIVE OR USB ? AND HOW COULD DECRYPTED FILES BE ERASED OR OVERWRITE WITH SUDO SHRED ?

    @user-pg1rt8yx6f@user-pg1rt8yx6fАй бұрын
  • Hi Sir, I have a log file which I cannot see after the command cd /var/log Please give me some suggestions thank you

    @varunt6846@varunt6846 Жыл бұрын
    • Use pwd to make sure you're in the correct directory. Then ls -a to list all the files in that directory. If its not there, its not there.

      @hackpens2246@hackpens2246 Жыл бұрын
  • I learned something new, but I was searching different ting, here is that , kindly help with "How to grep a log file within a specific time period in Linux and with a specific keyword"

    @VikasGupta-nn7sd@VikasGupta-nn7sd2 жыл бұрын
    • That's a nice idea for a video. thanks. In the meantime, you can use grep for dates and times. Try this, which should bring you everything in the Auth log that happened between 8pm and 9 pm on Aug 26th: pi@Node1:/var/log $ cat auth.log | grep "Aug 26 20:" Aug 26 20:00:01 Node1 CRON[14365]: pam_unix(cron:session): session opened for user pi by (uid=0) Aug 26 20:00:03 Node1 CRON[14365]: pam_unix(cron:session): session closed for user pi Aug 26 20:01:01 Node1 CRON[14380]: pam_unix(cron:session): session opened for user pi by (uid=0) Aug 26 20:01:01 Node1 sudo: pi : TTY=unknown ; PWD=/home/pi ; USER=root ; COMMAND=/usr/bin/apt-get update Aug 26 20:01:01 Node1 sudo: pam_unix(s..................................

      @hackpens2246@hackpens22462 жыл бұрын
    • @@hackpens2246 Sure, I'll try and update here

      @VikasGupta-nn7sd@VikasGupta-nn7sd2 жыл бұрын
  • from the ip addres can you find out their location ?

    @ansellroman6620@ansellroman6620 Жыл бұрын
    • If the user isn't using a VPN service, then yes (an approximate location) using a publicly available tool, like whatismyipaddress.com/ip-lookup

      @hackpens2246@hackpens2246 Жыл бұрын
  • nice , except cut -d " " -f x not working for me , i will dig durther to figure out why..

    @beyremrjeybi9978@beyremrjeybi99785 ай бұрын
  • 6:36 someone tried Minecraft lol

    @bramkesseler1582@bramkesseler15827 ай бұрын
  • farhan was here

    @farhan24fa@farhan24fa2 жыл бұрын
    • I'm glad you were :)

      @hackpens2246@hackpens2246 Жыл бұрын
  • How to filter having above 8 character words🤔🤔

    @Anil-vy5vy@Anil-vy5vy2 жыл бұрын
    • hi. 'm not sure what you mean. I have just run this command [ cat fail2ban.log | grep "fail2ban.actions" ] and it returned results. 16 characters...

      @hackpens2246@hackpens22462 жыл бұрын
    • Ok and thnks for replay

      @Anil-vy5vy@Anil-vy5vy2 жыл бұрын
    • For example if iam want crack WPA password of wifi I nees only 8 character or more not less than 8 character So iam asking you to have to print only 8 characters or more not less than 8

      @Anil-vy5vy@Anil-vy5vy2 жыл бұрын
    • @@Anil-vy5vy this is not really useful for cracking Wifi passwords. you need to look at capturing handshakes and then perhaps using aircrack-ng or johntheripper to perform a dictionary attack on the handshake. Alternatively, you could use a utility like Wifite which performs a range of different attacks for you as long as you have all of its dependencies installed.

      @hackpens2246@hackpens22462 жыл бұрын
    • @@hackpens2246 sorry i didnot see your message but grep helps gor shorting words also to give only certain output length example grep -E '(\w{11,})' modifided.txt > greter11.txt below one is best because we can give from certain lenght words output awk 'length >= 8 && length

      @Anil-vy5vy@Anil-vy5vy Жыл бұрын
  • An idiom I like to use is to rank occurrences of things. If I were interested if there are repeated items, after I sorted the lines, I’d do a unique count and a numerical sort, like this: … | sort | uniq -c | sort -rn | head So I can see the top 10 repeated lines.

    @zemoxian@zemoxian2 жыл бұрын
    • Very nice. I like that.

      @hackpens2246@hackpens22462 жыл бұрын
  • I put a custom messge saying it's the FBI'S system that displays on every ssh attempt

    @amerikraine3401@amerikraine3401 Жыл бұрын
    • Good work haha

      @hackpens2246@hackpens2246 Жыл бұрын
  • How to filter logs with root user details and 200 response

    @ashok-hg8se@ashok-hg8se2 жыл бұрын
    • You can switch users with "su root" if you know the root password I'm not sure I understand what you mean by "200 response"

      @hackpens2246@hackpens22462 жыл бұрын
    • @@hackpens2246 Thanks for the reply. Even I am not sure with that . How to check which ports are running in a Vm from outside?

      @ashok-hg8se@ashok-hg8se2 жыл бұрын
    • @@ashok-hg8se I'm sorry, but this is a video that shows you how to filter log files. I can't offer advice about auditing networks on this video's comment section.

      @hackpens2246@hackpens22462 жыл бұрын
  • ain't it grep -w instead of grep -v

    @zaidpatel4465@zaidpatel44652 жыл бұрын
    • -v works. I'm not sure what you are expecting from grep -w. As far as I can see grep -w does the same thing as grep alone. The grep -v command will show lines that DON'T have the string you specify, whereas grep and grep -w show lines that DO have to string.

      @hackpens2246@hackpens22462 жыл бұрын
  • awk '{print $11}'

    @amerikraine3401@amerikraine3401 Жыл бұрын
  • I would suggest not to clear the screen so often. It could be helpful to see the line structure you are working on. Two or the [ Enter ] would do ...

    @o21211671@o212116712 жыл бұрын
    • I'll bear that in mind. Thank you :)

      @hackpens2246@hackpens22462 жыл бұрын
  • *grep "a_string" filename* - there is no need to use cat in any of the two case presented in this video.

    @JJ-rc1ie@JJ-rc1ie2 жыл бұрын
    • That's true. However, since I used cat to look at the files and decide what strings I was going to grep for, it was easier to leave that there and repeat the commend.

      @hackpens2246@hackpens22462 жыл бұрын
    • @@hackpens2246 Got it. In such a case I just use *grep '' filename* . Then I take a look at the file and replace *''* with the appropriate grep options and/or a string to search. Performance aside, is *grep ''* equivalent to *cat* ?

      @JJ-rc1ie@JJ-rc1ie2 жыл бұрын
    • @@JJ-rc1ie hi. No, cat is short for concatenate... It basically outputs the content of a file. Grep is searching the file for lines containing a certain string or integer or whatever. In this case, I used cat to print the content of the file to the screen so I could look at it and decide what string I was going to filter for, then I used it to pipe the content of the file into the grep command

      @hackpens2246@hackpens22462 жыл бұрын
    • @@hackpens2246 Yes, I know the basics of *cat* and *grep* . But I also noticed that grepping for an empty string, i.e. *grep "" filename* seems to be equivalent to *cat* . Don't you agree? *P.S.* *''* in my earlier comment is not a typo but an empty string.

      @JJ-rc1ie@JJ-rc1ie2 жыл бұрын
    • @@JJ-rc1ie it does the same thing. Yes, you're right 😉

      @hackpens2246@hackpens22462 жыл бұрын
  • thank you so much for this tutorial it helped me a lot with understanding of cat, grep and sort. Are you able to tell me what this command would do "cat -rf ~/syslog | sort | grep -iaE -A 5 'cpu[1-7].*(7[0-9]|8[0-9]|100)' | tee cpu.txt" specifically the numbers after cpu which seem to me like it's a time stamp

    @hameedazeem@hameedazeem Жыл бұрын
    • Probably a little late to be useful, but the numbers are regular expressions (enabled by the -E flag), so it means: After "cpu" there needs to be [1-7] one digit that is between 1 and 7 (inclusive). Then .* there can be any combination of any characters, of any length, that means anything, or even nothing. Then after that we need to have one of the following three options 7 followed by any digit, 8 followed by any digit, or the number 100 (so 71, 80, and 100 are all valid but 180, or 7 are not. (700 theoretically wouldn't be, but because we didn't specify what has to come after, grep will allow it since the last 0 will be considered part of whatever comes after our expression) Some things that will match it: cPu1 77 cpu6hellohowa re you100 cpu788 cpu66666666100 Things that won't: cpu0 80 coy1 70 I'm not sure if I was very clear with that description, but regular expressions can sometimes be a mess to explain in words. The -A 5 flag means that for every matching line, grep will also print out the 5 lines after the match, for added context.

      @yosefberger6259@yosefberger625911 ай бұрын
  • Quick revision: #cat auth.log | grep "invalid" | cut -d " " -f 11 | sort | uniq | wc -l #cat fail2ban.log | grep "Ban" | grep -v "Restore" | cut -d " " -f 16 | sort | uniq -d > ~/uniq_ips.txt

    @0xpurn@0xpurn10 ай бұрын
KZhead