Learning Python

diablo911diablo911 Member Posts: 36 ■■■□□□□□□□
Just a quick question, im running through the basics concepts of Python through w3schools, but aside from that, does anyone have any good ideas on what types of programs i should know how to write in regards to networking. When i went through C++, aside from learning the concepts i stopped at shallow copy which is the second class in it and is all that was required of me, my instructor seemed to throw brutal ideas on what types of programs we should write, all of them i know increases my knowledge but non related specifically to networking. So any ideas would be greatly appreciated. Nothing crazy, im still a newb. 


  • SpiegelSpiegel Member Posts: 322 ■■■■■□□□□□
    You should check out David Bombal. He has courses on Udemy regarding Net DevOps for Cisco on Python for network automation and programming. 
    Degree: WGU B.S. Network Operations and Security [COMPLETE]
    Current Certs: A+ | N+ | S+ | Cloud Essentials+ | Project+ | MTA: OSF | CIW: SDA | ITIL: F | CCENT | CCNA R&S | CCNA | LPI Linux Essentials
    Currently Working On: JNCIA-MistAI

    2022 Goals: JNCIA-MistAI [ ]
    Future Certs: CCNP Enterprise
  • [Deleted User][Deleted User] Sec+ Posts: 0 Mod
    edited August 2019
    There is no "Type" that you should write. If you are learning python just pick something that will be fun or useful to you. I wouldn't even worry about it being network related (Unless you want). It will be much easier to learn the concepts of python and programming doing something fun. The skill you learn will be transferable to any networking project you take on later. 

    This book may spark some ideas https://www.amazon.com/Violent-Python-Cookbook-Penetration-Engineers/dp/1597499579

    I really enjoyed the courses I took through Corsera as well. They have multi-course specializations that are similar to what you might learn in Undergrad. 
  • yoba222yoba222 Member Posts: 1,237 ■■■■■■■■□□
    edited August 2019
    1) Something fun
    2) Something not overwhelmingly complex
    3) Something project-based, that has an end to it.

    Earlier in the year was doing an online course that taught a Python GUI by making a card game. I don't care about card games. I was bored out of my mind and didn't finish it.
    I tried doing a Udemy course that taught how to get a Raspberry Pi camera to detect motion and shapes and machine learn from the shapes. While it was super interesting, it was too complicated and I couldn't deviate from the course code at all without getting lost. I didn't finish it.
    Then I tried reading Automate the boring stuff with Python and trudged through many chapters, but this was sort of like just reading Wikipedia articles non-stop. Or maybe trying to read a dictionary to learn the meaning of 300 words. I didn't have a goal in particular and I didn't finish it.

    I'm doing a course now that teaches how to MITM and sniff traffic in a Virtual network using Python and ARP spoofing. I'm having a blast going through the course. No doubt in my mind I'll finish the course.

    All this said, I'd do one course that walks through some kind of project-based thing in Python; whatever catches your interest the most--maybe not even networking related.

    What it really boils down to is Python is the duct tape that gets something your team happens to need accomplished, done. You won't really know what needs doing until that moment, and the reason why it needs doing is probably because of some time crunch where automating it is the only sane approach. Guess I'm suggesting less of writing super elaborate Python "networking" programs now and more about training drills to keep your scripting sharp. But drills are boring. And scripting just to script is also boring, hence a project approach where you build something and move on. Make it fun and you'll succeed and want to keep learning more.
    A+, Network+, CCNA, LFCS,
    Security+, eJPT, CySA+, PenTest+,
    Cisco CyberOps, GCIH, VHL,
    In progress: OSCP
  • Info_Sec_WannabeInfo_Sec_Wannabe Member Posts: 428 ■■■■□□□□□□
    edited August 2019
    I'm not sure how networking-related this may be but have you looked at https://www.codingame.com/start? TMK, Python is one of the languages you can use.
    X year plan: (20XX) OSCP [ ], CCSP [ ]
  • MrNetTekMrNetTek Member Posts: 100 ■■■■□□□□□□
    edited November 2019
    Perhaps you can get some ideas from here: http://eddiejackson.net/wp/?page_id=21214, my python page.

    -MrNetTek at your service-
  • MagmadragoonMagmadragoon Member Posts: 172 ■■■□□□□□□□
    Try doing simple projects like creating a LAMP stack or start writing scripts that install the programs you want on a server. Your skills will greatly improve while giving you some trial and error.
Sign In or Register to comment.