CSP2101 Scripting Languages Assignment 3 - Software Based Solution
CSP2101 Scripting Languages Assignment 3 - Software Based Solution
CSP2101 Scripting Languages Assignment 3 - Software Based Solution
Contents
Unit Learning Outcomes aligned with this assessment....................................................................................... 1
Course Learning Outcomes aligned with this assessment .................................................................................. 1
GENERAL REQUIREMENTS ........................................................................................................................... 2
IMPORTANT NOTES ..................................................................................................................................... 2
Assignment Description....................................................................................................................................... 4
Part 1 – Write the Code (Shell Script, 30 marks) ............................................................................................. 4
Functional Requirements (15 marks) .......................................................................................................... 4
Usability, Reliability and Efficiency Requirements (10 marks) .................................................................... 5
Enhanced Functionality (5 marks) ............................................................................................................... 5
Part 2 – Explain Your Work (Video, 10 Marks) ................................................................................................ 6
Required Video Elements ............................................................................................................................ 6
Recording and Submitting a Panopto Video for Assessment – How To ...................................................... 6
Marking Key ......................................................................................................................................................... 7
UO 3: Develop and deploy scripted software solutions using industry standard scripting languages to meet
functional requirements.
CLO 3: Apply creative thinking to identify and solve cyber security challenges.
GENERAL REQUIREMENTS
▪ Your script will be marked on a standard Linux installation using the bash shell.
▪ You must only use bash shell script as covered in lectures and workshops.
▪ Refrain from using non-core commands, tools and utilities in your bash shell scripts. Non-standard
bash commands, tools and utilities will not be downloaded and installed by your tutor.
▪ Ensure each script you write is fully self-contained and is not configured to be dependent on external
files, libraries or resources to run.
▪ Do not use the trap command in any of your scripts.
▪ Each script you submit must contain your full name and student number at the beginning as code
comments.
IMPORTANT NOTES
▪ This is an individual assignment only and must not be completed in collaboration with other
students
▪ You may not work with others, acquire code from others, or provide code to others
▪ Further, you may not post any of the assignment tasks below to a code-development community of
any kind seeking solutions or advice
▪ Nor may you copy and paste or otherwise reproduce code provided by external sources and use it as
part of your own solutions unless it is cited in-code according to APA 7 referencing guidelines. The
more code that is externally sourced, the less original your own solution, the lower your potential
mark for the given requirement(s)
▪ Where it is found that any of these instructions have been ignored, academic misconduct
proceedings may be initiated
▪ Please read the checklist below and watch the associated video BEFORE submitting your assignment
Page 2 of 8
Watch this video before submitting your assignment
Page 3 of 8
Assignment Description
Having completed your two main portfolio activities, you are now required to further develop your shell
scripting skills by developing a script that automates a task commonly performed by Linux administrators -
the analysis of server access logs to identify and report upon suspicious activity.
To develop and test your script, you have been provided with a set of five (5) server access logs in a zip
folder named serv_acc.zip.
Please note: Your tutor will run your script in the same folder as the server access logs located on his/her
computer so you do not have to prompt the user for their location.
Each server access log contains 500 records organised into the following columns:
Your server access log must provide the user with the following functionality:
1. Run a search on available server access logs based on one (1), two (2) and three (3) field criteria
inputs.
2. Give the user the option to a) search all server access logs available in a directory, or b) search just
one (1) specific log of the user’s choice.
3. Export the results of any search to a text file and destination directory of the user’s choosing. Where
the file and/or destination directory nominated by the user are non-existent, your script will create
them.
4. Any records in which the CLASS field is set to normal are to be automatically excluded from the
search results printed to the screen
Page 4 of 8
5. When the PACKETS and/or BYTES fields are used as search criteria, the user should be able to
choose greater than (-gt), less than (-lt), equal to (-eq) or not equal to !(-eq) the specific value they
provide.
6. When the PACKETS and/or BYTES fields are used as search criteria, totals for each of these should
also be calculated and displayed as the final row of the search results printed to the screen
7. When the SRC IP or DEST IP fields are used as search criteria, the user should only need provide a
partial search string rather than a complete value, e.g. search using the partial string EXT rather than
the exact value EXT_SERVER
Usability, Reliability and Efficiency Requirements (10 marks)
Enhance the functionality of your server access log analysis tool by devising and coding one (1) additional
feature that is not available as one of the default features listed under the Functional Requirements section
of this brief. This additional feature is to allow the user to work with the server access logs in a useful and
meaningful way that adds genuine value to the analysis tool. An example might be to provide the user with
the ability to send a server access log analysis report to a specified email address instead of the default
option of storing it as a text file in a given directory. Please do not use this example as your additional
feature – it is provided as an example only.
Page 5 of 8
Part 2 – Explain Your Work (Video, 10 Marks)
Required Video Elements
Begin with you appearing on-screen displaying your Student ID card and verbally stating your full
name and student number.
A full run-through of your code demonstrating Functional Requirements 1 through 7 in action.
Explain how you have addressed Usability, Reliability and Efficiency Requirements 1 through 8,
pointing to specific example(s) in the code and code output in each case.
Explain and demonstrate the Enhanced Functionality achieved by the one (1) additional feature you
created that allows the user to work with the server access logs in a useful and meaningful way that
adds genuine value to the analysis tool.
Change one element of code, e.g., such as a message displayed when invalid input is provided and
then re-run the code to show the change in action.
If there was any Functional or Usability, Reliability and Efficiency requirements you were not able to
implement then briefly explain the reasons why this was the case, e.g. ran out of time, couldn’t
figure out the code required, etc.
Both the video and audio elements of your presentation should be of good quality.
Your video must not be more than 8 minutes long, i.e. your tutor will stop viewing your presentation
at the 8 minute mark and anything thereafter will not factor into your grade.
Recording and Submitting a Panopto Video for Assessment – How To
If you have not yet recorded and submitted a Panopto video for assessment purposes, please watch the
video How to submit a student video assignment.
Page 6 of 8
Marking Key
Criteria NOT DEMONSTRATED ➔ DEMONSTRATED
Page 7 of 8
ENHANCED FUNCTIONALITY (5 Marks)
Additional feature allows user to analyse log data in a useful and meaningful 0 0.5 1
way that adds genuine value to the tool
Additional feature is efficiently coded and works as described in video 0 1 2 3
Additional feature integrates seamlessly with the default elements of the 0 1
analysis tool.
EXPLAINER VIDEO (10 Marks)
Video begins with you appearing on-screen displaying your Student ID card 0 0.5 1
and verbally stating your full name and student number.
A full run-through of your code demonstrating Functional Requirements 1 0 1 2
through 7 in action.
Explain how you have addressed Usability, Reliability and Efficiency 0 1 2
Requirements 1 through 8, pointing to specific example(s) in the code and
code output in each case.
Explain and demonstrate the Enhanced Functionality achieved by the one (1) 0 1 2
additional feature you created that allows the user to work with the server
access logs in a useful and meaningful way that adds genuine value to the
analysis tool.
Change one element of code, e.g., such as a message displayed when invalid 0 0.5 1
input is provided and then re-run the code to show the change in action.
If there was any Functional or Usability, Reliability and Efficiency requirements 0 0.5 1
you were not able to implement then briefly explain the reasons why this was
the case, e.g. ran out of time, couldn’t figure out the code required, etc.
Both the video and audio elements of your presentation should be of good 0 0.5 1
quality.
TOTAL SCORE: /40
Page 8 of 8