Find Jobs
Hire Freelancers

Assignment code on perl (or) python

kr192-1600 SEK

Closed
Posted about 6 years ago

kr192-1600 SEK

Paid on delivery
Write a script to probe the an SNMP agent and find the rate of change for several counters between successive probes/ samples. The rate calculated for each counter/OID should be displayed on the console, one line for each calculated rate, the output format will be described in detail in 'output format'. Futhermore, as the only requirement on the OIDs is that they are of the type COUNTER, this means that there are both 32 and 64 bit versions of counters. Your solution should handle both counter types, and in the case that a counter wraps (ie goes from a high number to a low number), your solution should address/rectify (if its possible). The solution needs also to handle that an SNMP agent restarts (i.e. the sysUpTime OID becomes less than it was before, ie. it starts counting from zero), and timeouts, i.e. the device does not respond to your request in time. It will be tested that your solution maintains the requested sampling frequency (i.e. the requests from your solution should be sent so that the sampling frequency is maintained, irrespectively if the device has responded or not). The script will be invoked as follows: prober <Agent IP:port:community> <sample frequency> <samples> <OID1> <OID2> …….. <OIDn> where, IP, port and community are agent details, OIDn are the OIDs to be probed (they are absolute, cf. IF-MIB::ifInOctets.2 for interface 2, or 1.3.6.1.2.1.2.2.1.10.2 [1]) Sample frequency (Fs) is the sampling frequency expressed in Hz, you should handle between 10 and 0.1 Hz. Samples (N) is the number of successful samples the solution should do before terminating, hence the value should be greater or equal to 2. If the value is -1 that means run forever (until CTRL-C is pressed, or the app is terminated in someway). Following are the files to be submitted: Note: The file has to be submitted with ".txt" extension so that plagiarism control will work. [login to view URL] Script that probes the agent, may be written in any language (perl, python,etc.), make use of the SHEBANG to handle what language interpreter that execute the script. If you use a complied language, make sure that the compiler outputs the correct filename on the executable. What ever language you choose to implement the solution in, make sure that you use a proper API for the SNMP communication, i.e. using system commands is not the way to do it. The aim is to train API interaction. Output format The output from the script _MUST_ be as follows: Sample time | OID1 | OID2 | .... | OIDn Sample time: Timestamp of the last sample, in UNIX time (seconds). OID*: Rate of OID* between the last two successful samples As an example: 1504083911 | 2124 | 819 | 0 | 281761 1504083912 | 2471 | 819 | 110 | 450782 1504083913 | 1904 | 819 | 2000 | 325448 --Technical Testing--: Your solution will be tested against a simulated/real SNMP agent, where the behavior is known. A test script will be launch your solution and validate the results against the known results. The script will check: - that the solution generates the correct number of samples, as requested, at the requested sample frequency. - that the solution sends the snmp request at the required sampling frequency, will be tested by packet tracing. - that the SNMP request contain all the requested OIDs, by packet tracing - that the solution handles non-responsive SNMP agents, ie. timeouts. Ie the inter sample time presented in console would be n/Fs where Fs is sample frequency and n=1,2,3,... - that the solution handles that the SNMP agent restarts/reboots - that the output from the solution matches the configuration of the agent - that the solution handles counters that wrap around, both 32 and 64 bit counters. Use SysUpTime[2] as to detect device reboots and to obtain the device time when calculating rates. [1] [login to view URL] [2] [login to view URL]
Project ID: 16438439

About the project

5 proposals
Remote project
Active 6 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
5 freelancers are bidding on average kr910 SEK for this job
User Avatar
Hello , I have bachelor's degree in computer science and i have been programming in C/C++ for both linux and windows for more than 8 years.I have written various network applications some of which are down to the IP packet level. I have written a linux based network packet analyzer without using except the standard C library. and also written simple versions of network diagnostic tools ping and traceroute. With extensive knowledge cryptology and underlying mathematics. Additionally I have previous experience with python,php and perl. let me know if you're interested.
kr1,000 SEK in 3 days
5.0 (6 reviews)
3.6
3.6
User Avatar
May be my bid is very low, but trust me, my product will have high quality and I ensure your satisfaction.
kr227 SEK in 3 days
5.0 (1 review)
0.6
0.6
User Avatar
Hello , I’m a professional software developer working in a cyber security company. I have worked on python , shell for years. Kindly take a chance on visiting my profile . The best part is I have already done a similar script that sends snmp traps when some counter values reach threshold . So it should be a piece of cake for me . I can get the job done . Kind Regards , Ameer Khan
kr1,333 SEK in 3 days
0.0 (0 reviews)
0.0
0.0

About the client

Flag of SWEDEN
Karlskrona, Sweden
0.0
0
Payment method verified
Member since Feb 2, 2018

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.