• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Network Programming with Unix?

moddestmike

Senior member
Quick rundown of me and my current situation, I'm a student majoring in EE with a focus in Telecommunications Engineering. I enjoy this field quite a bit as I've obtained my CCNA and CCDA. A well respected person advised that I should began learning how to network program in Unix. I know this sounds like a very broad and general statement but I just need a starting point. Is it scripting language or is it actually OO? If so are there any books that offer a entry level approach? Thanks guys!!!!
 
Each language has their own way of handling network sockets. Are you talking about writing a program with network capabilities or are you talking about writing a networking stack for Unix?
 
In all honesty, any of the white hat hacking books would be a good read for you.

I'm not encouraging hacking by any means, but the knowledge you are asking for hacking is where it will be found. Understanding the layers and socket formation would help.
 
moddestmike, the standard text is UNIX Network Programming by W. Richard Stevens et al. It's now in its third edition.

Real UNIX programming means C.
 
Advanced Programming in the UNIX Environment (2nd Edition) is a very good book. It's a must read for programming on UNIX systems. Which also happens to be by Stevens. He was one of the best authors in the programming world.

Why are you wanting to learn unix programming? Are you wanting to work on the software inside telecommunication devices? Also when most people talk about UNIX programming, it's usually programming in C, but you can still use C++. Plus they're usually doing systems programming. You might want to focus more on what you want to do when you graduate, which could include doing some programming. I remember seeing EE grad students in some of my advanced programming classes but the undergrads only took like the first 2-3 semesters worth. As always, talk to your advisor, that's why she/he is there for you. They can point you in the right direction or towards someone with a much better opinion than their own.
 
I just want to build a strong foundation for understanding all facets of networking. I'll give all these text a once over. I'm hopefully looking at a research postion here at school upon graduating but we will see. I don't have too much practical experience besides the small lab I built for my CCNA.
 
Also consider Computer Network courses. You will learn some new stuff, but it will mostly cover stuff that is on CCNA and Network+ type exams. The topics will vary depending the instructor and textbook used. Those courses usually will still count towards your EE degree but check with your advisor.
 
Personally, I'd recommend Perl. It's on virtually every *nix box, there are already massive libraries of routines (like Net::Telnet::Cisco, which let;s you programmatically access and manipulate devices via the console).

It's also available for Windows boxes (FOR FREE!!!!!!!!!) from Activestate (www.activestate.com) and can interface nicely with Windows objects (i.e., transfer stuff to/from Excel spreadsheets, Word docs, Visio...) and play with Windows GUI interface.

The shell scripting is good to know, but chances are if you can do it in a shell script, you can do it in Perl (or Pythin, maybe Ruby... but Perl "fer sher").

Perl via CGI can also create dynamic web pages, good for occasional interface with "less than stellar intelligence"

Check out Perl, then move on from there if you can find something else that does what you want done quicker / better / cleaner.

Good Luck

Scott
 
Back
Top