Final Project Work
Final Project Work
We hereby declare that this submission is our work towards the award of Higher National
Diploma in Information Communication Technology and that, to the best of our knowledge, All
that is in this report was researched and compiled by us. We did not copy and no one copied our
work.
Certified by:
GBEDAWO VICTOR ……………………………… ………………………………….
Certified by:
ADOLPH ADU ………………………………
………………………………….
Network sniffing is a network layer attack consisting of capturing packets from the network
transmitted by other computers and reading the data content in search of sensitive information
like passwords, session tokens and confidential information. This could be done using tools
called network sniffers; these tools collect packets on the network and, depending on the quality
of the tool, analyze the collected data like protocol decoders or stream reassembling.
A packet sniffer sometimes called a network analyzer, protocol analyzer or sniffer or Ethernet
sniffer or wireless sniffer (Wu, 2022), is a computer program or a piece of computer hardware
that can intercept and log traffic passing over part of a network (Chen, 2019).
Background
Electricity Company of Ghana, Ho Regional Office is located at Ho-Bankoe, directly opposite
SIC Regional Office. It is a private/government owned Company, which specializes in power
distribution. ECG was incorporated in 1963 and became a limited company when shares were
first sold in the firm in February 1997. However the company is still owned by the government.
Recent interest in security was fueled by the crime committed by Kevin Mitnick who committed
the largest computer‐related crime in U.S. history (Smith et al, 2019). The losses were eighty
million dollars in U.S. intellectual property and source code from a variety of companies (Smith
et al, 2019). Since then, information security came into the spotlight. Electricity Company of
Ghana, Ho Regional Office has got Information technology policy which manages all the
Information technology assets under which there is the network resources which are utilized by
all staffs who in the long run violate the policy.
Problem Statement
With the increasing number of interest in network security, the responsibility of network
monitoring has increased for network and security professionals. They are highly dependent
upon the traditional packet sniffer tools like Wire shark, tcp dump. However, the data provided
by such tools is very large and sometimes even network professional have difficult time to filter
and get the required result. Also, these industry standard tools require sound knowledge of
networking protocols which makes them unsuitable for laymen and end users.
As technology is advancing, Electricity Company of Ghana has adopted the use of networks to
ease the sharing of data and other resources. However they have faced a challenge and a very
fundamental threat of denial of service (DOS) where the network is slowed down due to
irrelevant usage by selfish staffs. This results into slow internet connection therefore it called for
an investigation on how the network is utilized, how to analyze and manage network traffic thus
improving the efficiency of the network.
Aim and Objectives
Aim
The purpose of this project is to come up with a Network Packet Sniffer which will help in
controlling, monitoring and managing both wired and wireless Electricity Company of Ghana,
Ho Regional Office networks thus increasing or improving its efficiency.
Objectives
i. To investigate the current network analyzer tools used at Electricity Company of Ghana,
Ho Regional Office.
ii. To design a prototype of a Network Packet Sniffer.
The importance of this project to the students of the University is that it will enable them to learn
more about the Network traffic analysis and this will also broaden their knowledge and skills
about networks and protocols.
The system developed will help reduce the problem of network misuse, overload during peak
hours since it shows the administrators the statistics of all the traffic over the network reducing
the chances of slow Internet connection.
The information running through networks is a valuable source of evidence for network
administrators to fish out intruders or anomalous connections. The need to capture this
information has led to the development of packet sniffers. A number of research works exist in
the development of packet sniffers. However, the search for the ideal packet sniffer continues.
The Network Packet sniffer will come with additional functionalities such as 3D pie charts, a
GUI and with little memory requirements. The Network Packet sniffer when installed in a
network will help monitor network traffic and keeps log of all connections to the network, which
is then analyzed for the detection of suspicious act.
Scope
The project target scope is Electricity Company of Ghana, Ho Regional Office network
environment where the users of the network are over one hundred.
The information running through networks is a valuable source of evidence for network
administrators to fish out intruders or anomalous connections. The need to capture this
information has lead to the development of packet sniffers. A number of research works exist in
the development of packet sniffers. However, the search for the ideal packet sniffer continues.
Packet sniffer will come with additional functionalities such as 3D pie charts, a GUI and with
little memory requirements. Packet sniffer when installed in a network will help monitor network
traffic and keeps log of all connections to the network, which is then analyzed for the detection
of suspicious activities.
However, the proposed network packet sniffer does not block attacks or malicious activities.
There is no possibility of automatic network control.
Limitation
Packet sniffing to be validated as an illegal activity and is usually defined by the strict corporate
or company policy which is to be complied with. Majority of institutions in the market will
absolutely ban the activity unless the job role ultimately requires it (Gupta et al, 2019).
Working in the vast area of packet manipulation generally is contingent upon the live monitoring
of real time network traffic. Variations of the development observed in this field are developed
or reassured only when such real time actual traffic is considered to be included. Privacy is
always given a competitive level of importance especially nowadays when the whole social
media paradigm has become an inseparable part of our daily lives, and majority of academic
researchers are inclined to consider about how to approach their research to minimize intrusions
to privacy. Usually this is accomplished by throwing off various technical jargons and building a
very vague and unclear line between the two case “private and public”. Some of the measures
that are used to justify the research are as follows (Kim et al, 2018);
2.2.1 Features
Here are some key features related to packet sniffer systems:
1. Packet Capture: A packet sniffer should be able to capture network packets in real-time
from the network interface or a specific network segment. It should have the ability to
capture packets at a high speed and handle large volumes of network traffic.
2. Protocol Analysis: Packet sniffers are designed to understand and interpret various
network protocols, such as TCP/IP, UDP, HTTP, DNS, FTP, etc. They should be capable
of decoding and dissecting the packets to extract information about the protocols,
including headers, payloads, and any encapsulated data.
3. Filtering and Capture Options: Sniffers should offer flexible filtering options to capture
specific packets of interest. They allow users to define filters based on source/destination
IP addresses, port numbers, protocol types, packet sizes, and other criteria. Filtering helps
focus on relevant traffic and reduces the volume of captured data.
4. Traffic Visualization: Many packet sniffers provide graphical representations of network
traffic, such as charts, graphs, and tables. These visualizations help in analyzing network
patterns, identifying anomalies, and troubleshooting performance issues.
5. Session Reconstruction: Packet sniffers often have the ability to reconstruct and display
complete network sessions by assembling individual packets. This feature is particularly
useful for understanding the flow of communication between different hosts and
applications.
6. Statistical Analysis: Sniffers can generate statistics based on captured packets, including
packet counts, packet size distributions, protocols usage, and network utilization. These
statistics assist in network performance monitoring and capacity planning.
7. Deep Packet Inspection (DPI): Advanced packet sniffers may support deep packet
inspection, which involves inspecting packet payloads for application-layer data. DPI
enables the identification and analysis of specific application protocols, such as HTTP,
SMTP, or VoIP, by looking beyond the protocol headers.
8. Intrusion Detection and Security Analysis: Packet sniffers can play a crucial role in
detecting network-based attacks and analyzing security incidents. They can identify
suspicious or malicious traffic patterns, flagging potential threats or vulnerabilities in the
network.
9. Export and Integration: Some packet sniffers allow exporting captured packet data in
various formats, such as PCAP (Packet Capture), CSV (Comma-Separated Values), or
JSON (JavaScript Object Notation). This facilitates integration with other network
analysis tools or storage systems.
10. Real-time Monitoring and Alerts: Sniffers may include real-time monitoring capabilities,
providing live views of network traffic and generating alerts for specific events or
conditions. This helps administrators respond quickly to network issues or security
breaches.
It's worth noting that the exact features and capabilities of packet sniffers may vary depending on
the specific software or hardware solution being used. Additionally, the use of packet sniffers
should always adhere to legal and ethical considerations, ensuring proper authorization and
privacy protection (Singh et al, 2021).
2.2.2 Benefits
Here are some key benefits of using packet sniffers:
1. Network Monitoring and Troubleshooting: Packet sniffers are invaluable for monitoring
and troubleshooting network issues. Researchers can use sniffers to capture and analyze
network packets in real-time, helping identify network performance problems, packet
loss, bottlenecks, or misconfigurations. By examining the captured packets, researchers
can gain insights into network behavior and optimize system performance.
2. Security Analysis: Packet sniffers play a crucial role in network security research. They
allow researchers to detect and investigate security threats such as malware infections,
network intrusions, or data breaches. Sniffers can help identify suspicious traffic patterns,
analyze packet payloads, and uncover potential vulnerabilities in systems or applications.
This research can aid in the development of effective security measures and the creation
of more secure systems.
3. Protocol Analysis and Development: Researchers often use packet sniffers to study
network protocols, both existing ones and those under development. By capturing and
analyzing packets, researchers can gain a deep understanding of protocol behavior,
identify flaws, and propose improvements. This research helps in refining protocols,
ensuring compatibility between systems, and enhancing network communication
efficiency.
4. Performance Evaluation: Packet sniffers provide valuable insights into system
performance. By capturing packets, researchers can measure key performance metrics
such as latency, throughput, and packet loss. This data can be used to evaluate and
compare different network technologies, protocols, or configurations. Packet sniffers help
researchers fine-tune systems for optimal performance and scalability.
5. Network Traffic Analysis: Sniffers enable researchers to analyze network traffic patterns
and understand how data flows within a network. By examining packet headers and
payloads, researchers can identify trends, usage patterns, or anomalies. This analysis can
be helpful in areas such as network planning, traffic engineering, and capacity
management.
6. Application Development and Debugging: Packet sniffers assist in the development and
debugging of networked applications. By capturing packets exchanged between
applications and servers, researchers can analyze the communication process, identify
issues, and optimize application performance. Sniffers are especially useful for
diagnosing problems related to network protocols, data formatting, or compatibility
between different software components (Chen et al, 2019).
2.2.3 Drawbacks
While packet sniffers offer numerous benefits for research and network analysis, there are also
some drawbacks and potential challenges associated with their use. Here are a few drawbacks to
consider:
1. Privacy Concerns: Packet sniffers have the potential to capture sensitive and private
information transmitted over a network. This raises privacy concerns, as unauthorized or
unethical use of packet sniffers can lead to the interception of personal data, login
credentials, or other confidential information. It is crucial to use packet sniffers
responsibly and ensure that appropriate security measures are in place to protect the
privacy of individuals.
2. Legal and Ethical Considerations: The use of packet sniffers can be subject to legal
restrictions depending on the jurisdiction. Unauthorized interception or monitoring of
network traffic can violate privacy laws, wiretapping regulations, or other legal
frameworks. Researchers must adhere to applicable laws and obtain necessary
permissions or consents before deploying packet sniffers.
3. Network Performance Impact: The act of capturing and analyzing network packets
introduces additional overhead to the network infrastructure. The continuous monitoring
and analysis of packets can consume network resources, potentially affecting the overall
network performance. Researchers need to consider the potential impact on network
bandwidth, latency, and system resources while deploying packet sniffers.
4. Complexity and Technical Expertise: Packet sniffers often require a certain level of
technical expertise to set up, configure, and interpret the captured data effectively.
Analyzing packet-level details can be complex, and researchers need to possess the
necessary knowledge and skills to make accurate interpretations and draw meaningful
conclusions from the captured data.
5. Encrypted Traffic Limitations: With the widespread adoption of encryption protocols
such as HTTPS, packet sniffers face limitations in analyzing encrypted network traffic.
While they can still capture encrypted packets, the payload is typically inaccessible
unless the researcher possesses the decryption keys. This limitation restricts the ability to
analyze the content of encrypted communications.
6. Network Segment Visibility: Packet sniffers typically operate in a specific network
segment or on a specific network interface. This means they can only capture and analyze
traffic within that limited scope. Researchers may need to strategically position multiple
sniffers across different network segments to achieve comprehensive visibility, which can
be challenging and resource-intensive.
7. Overwhelming Volume of Data: In large networks or high-traffic environments, packet
sniffers can generate an overwhelming volume of captured data. Analyzing and
processing such large datasets can be time-consuming and resource-intensive.
Researchers need to employ efficient data filtering, storage, and analysis techniques to
handle the vast amount of captured packets effectively (Santos et al, 2019).
INTRODUCTION
The methodology we will use in developing this application is incremental development model
where the analysis, design and implementation are performed and a number of increments
produced which will later be integrated to make a full system.
3.1 The Proposed System
The proposed system analyses and monitors the source and destination of traffic, counts dropped
packets during network overload and congestion, displays the packets traffic with their
respective protocols through filtering and help detect packets having spoofed IP addresses. It first
and foremost sniffs the incoming packets on the host system and there after analyzes them in
order to detect an intrusion.
System Specification
Software Specification
This involves the unseen side of the system. This is the side which supports the system. It is also
referred to as the backbone of the system. They include:
Windows 7 and above Operating system for the client computer
Java development tool kit 6. (JDK 6) and above.
Java programming language with Net Beans IDE.
Java packet capture library. This is a library of all packets captured from the interfaces
and platform independent (Operating systems).
Java jpcap library in addition with jpcap and wincap installations.
MSQL and JDBC.
Hardware Specification
This involves what the system will run on. This allows the user to interact with the system and
also known as the physical components of the system. They include:
Hard disk of 20GB
Processor speed 1.66 GHz
Random Access Memory (RAM) 2G
Network Interface Card (NIC): A NIC capable of capturing packets in promiscuous
mode.
3.1.1 Functional Requirements
Functional requirements define what a system is supposed to do. Functional requirements are
usually in the form of system shall (do requirement).
The system performs the following functions for the users:
The application allows the Administrator to login.
The application allows the Administrator (user) to select the interface to capture.
The application allows the user to change the interface to capture.
The application allows the user to stop capture.
JpCap captures raw packets live from the wire, automatically identify its packet types and
generate corresponding Java objects. It can also filter the packets according to user’s specified
rules before dispatching them to the application. JpCap can also send raw packets to the network,
save and read captured packets to and from an offline file.
MySQL and Java JDBC: The interface for accessing relational databases from Java
is Java Database Connectivity (JDBC). Via JDBC you create a connection to the
database, issue database queries and update as well as receive the results. JDBC provides
an interface which allows you to perform SQL operations independently of the instance
of the used database.
The following models show different system components and how data flow from one
component to another to achieve the systems goal. They also show the unseen side of the system.
I. Sequence Diagram
A sequence diagram in Unified Modeling Language (UML) is a kind of interaction diagram that
shows how processes operate with one another and in what order. It is a construct of a Message
Sequence Chart. A sequence diagram shows object interactions arranged in time sequence. It
depicts the objects and classes involved in the scenario and the sequence of messages exchanged
between the objects needed to carry out the functionality of the scenario. Sequence diagrams
typically are associated with use case realizations in the Logical View of the system under
development.
Sequence Diagram.
II. Use Case Diagram
In Software and Systems Engineering, a use case is a list of steps, typically defining interactions
between a role (Actor) and a system, to achieve the system goal. It illustrates how the application
and the user will interwork to achieve the desired goal. It shows the different functionalities a
user can do as well as the system.
User can start the capture, stop the capture, save logs while the application can start monitoring
the network, get packet headers, destinations, drop unwanted packets and get packet data.
Use Case Diagram.
3.4.2 Database Design
Designing a database for a packet sniffer involves planning the structure and organization of the
data that will be captured and stored by the packet sniffer. It is important to consider the
performance, scalability, and security aspects of the database design, as capturing and storing
network packets can generate a large amount of data. Proper indexing, data retention policies,
and access controls will be implemented to ensure the integrity and confidentiality of the
captured data.
Database Schema
Table: users
In this schema, the users table stores information about each user, including their user_id,
username and password.
We will use this database schema to build a login page that allows users to log in using their
username and password, and then link them to a packet sniffer page where they can capture and
view packets.
INTRODUCTION
This deals with result of the design and implementation of the system. The system is made up of
various components which help it to achieve its intended objectives as proposed in the earlier
chapters. In this chapter the application Graphical User Interface will be analyzed as well as its
back logic.
4.1 Implementing of the Design
The packet sniffer is implemented using Java programming language and NetBeans IDE. It
leverages the jpcap library for capturing network packets. The application follows a modular
design and utilizes object-oriented programming principles for flexibility and maintainability.
The implementation involves the following major components:
1. Login Page: restricts access to the packet sniffer page.
2. User Interface: Provides the graphical interface for user interaction, including options to
select network interfaces, start/stop packet capture, apply filters, and view captured
packets.
3. Packet Parser: Extracts relevant information from captured packets, such as protocol
type, source/destination IP addresses, port numbers, and payload data.
Java
Java was used because it is a general-purpose, concurrent, class-based, object-oriented language
that is specifically designed to help implement platform independent applications. It is intended
to let application developers "write once, run anywhere".
Simulation
Network simulation is a technique where a program simulates the behavior of a network. This
simulation was performed with the use of our personal WI-FI hotspot, ECG’s WI-FI and LAN,
Ho Technical University Student WI-FI.
4.1.2 Programming /Coding
The Packet Sniffer was developed using the Java programming language to help detect packets
having anomalous IP address or IP addresses outside the IP range. It first and sniffs the incoming
packets on the host system and analyzes them. Considering the fact that this sniffing process is a
low level operation, the java application makes use of the Java Packet Capturing Library (JpCap)
which works in conjunction with the Windows Packet Capturing Library (WinpCap).
The Login page is developed in Java using Swing Technology. Swing is a technology designed
in Java to help developers to design in the easiest way. You can easily drag and drop buttons,
textboxes, and more. Furthermore, this project is also connected to the MySQL database to
store and retrieve data. Using the JDBC MySQL connector, you can now connect to the login
code program. In Java, a login code is a form that restricts access to a restricted page.
Load and Select Available Network Interfaces on the Computer
As we know, to capture packets from a network, the first thing one has to do is to obtain the list
of functioning network interfaces on the computer. To do so, JpCap provides
JpcapCaptor.getDeviceList() method. It returns an array of Network interfaces objects.
Therefore, the first important operation the system performs is to allow the user load the
available network interfaces on the computer so that he/she can choose the desired interface
whose packets are to be sniffed and analyzed. The java class method written in codebase 1 below
helps carry out this operation.
After the interface opening process, the user is then allowed to select the desired interface to
sniff or the combination of interfaces to sniff. The selection processes simples makes the system
obtain an instance of the JpcapCaptor as can be seen in line 1 of codebase 1.
Begin Sniffing Operation
At activation i.e once you obtain an instance of JpcapCaptor, you can capture packets from the
interface. There are two major approaches to capture packets while using a JpcapCaptor instance
and they are
a. Using a call-back method
b. Capturing packets one by one.
Using a Call-back method
In this approach, you implement a call-back method to process captured packets, and then pass
the call-back method to JpCap so that JpCap calls it back every time it captures a packet. Let's
see how you can take this approach in detail. First, you implement a call-back method by
defining a new class which implements the PacketReceiver interface. The PacketReceiver
interface defines a receivePacket() method, so you need to implement a receivePacket() method
in your class. The following class implement a receivePacket() method which simply prints out a
captured packet.
Once the class in the codebase 2 above has been set up, then, you can call either
JpcapCaptor.processPacket() or JpcapCaptor.loopPacket() methods to start capturing using the
callback method. When calling processPacket()or loopPacket() method, you can also specify the
number of packets to capture before the method returns. You can specify -1 to continue capturing
packets infinitely.
4.3 Documentation
This documentation provides a detailed explanation of a Java packet sniffer developed in Java,
NetBeans. The packet sniffer is designed to capture and monitor network traffic, allowing users
to analyze packets flowing through a network interface.
Installation of the Packet Sniffer
To install the Java packet sniffer, follow these steps:
1. Ensure that Java Development Kit (JDK) is installed on your system.
2. Download and install NetBeans Integrated Development Environment (IDE) from the
official website.
3. Create a new Java project in NetBeans.
4. Add the necessary dependencies for packet capturing. One popular library is jpcap, which
can be downloaded from its official website or added as a Maven dependency.
5. Configure the project to use the jpcap library.
6. Import the required classes and packages for packet sniffing.
Bibliography
1. Chen, Z., Wang, W., Liu, Y., & Wen, Y. (2018). Deep learning for video object tracking:
A survey. Neurocomputing, 275, 282-293. https://doi.org/10.1016/j.neucom.2017.08.048
2. Eberle, W., & Gligor, V. (2019). Cybersecurity of the internet of things: A systematic
review of methods for securing IoT devices. ACM Computing Surveys, 52(5), 1-38.
https://doi.org/10.1145/3291042
3. Garcia, M. E., Costin, A., Rowe, A., & Fung, C. (2020). Machine learning approaches for
network anomaly detection: A survey. Computers & Security, 90, 101704.
https://doi.org/10.1016/j.cose.2019.101704
4. Huang, L., Joseph, A. D., Nelson, B., Rubenstein, D., Lau, S., Claffy, K., & Govindan, R.
(2021). Towards building an internet topology from passive measurements. ACM
SIGCOMM Computer Communication Review, 51(4), 191-198.
https://doi.org/10.1145/3472711.3472719
5. Kim, K. I., & Kim, H. (2022). A survey of deep learning-based traffic anomaly detection
methods for computer networks. IEEE Communications Surveys & Tutorials, 24(2),
1204-1231. https://doi.org/10.1109/COMST.2021.3067901
6. Li, B., Wang, H., & Pan, Y. (2019). Deep learning-based network anomaly detection and
its application on software-defined networking. IEEE Access, 7, 90515-90525.
https://doi.org/10.1109/ACCESS.2019.2922429
7. Liu, J., & Miao, Y. (2018). Anomaly detection in network traffic based on deep learning.
In Proceedings of the 14th International Conference on Computational Intelligence and
Security (CIS) (pp. 66-70). IEEE. https://doi.org/10.1109/CIS.2018.00018
8. Mohammadi, M., Atani, R. E., & Erfani, S. M. (2021). A comprehensive review of
intrusion detection system using deep learning techniques. Journal of Network and
Computer Applications, 187, 103077. https://doi.org/10.1016/j.jnca.2021.103077
9. Pal, S., Maity, S., Ghosh, A., & Bhattacharya, B. B. (2020). Intrusion detection system
using machine learning techniques: A review. Journal of Network and Computer
Applications, 159, 102596. https://doi.org/10.1016/j.jnca.2020.102596
10. Sultana, N., Iqbal, F., & Ali, S. (2022). Machine learning-based approaches for network
anomaly detection: A comprehensive survey. IEEE Access, 10, 17394-17420.
https://doi.org/10.1109/ACCESS.2022.3075541
11. Al-Sa'ady, T., Hameed, A., & Faezipour, M. (2018). A comprehensive survey of network
packet sniffing. IEEE Communications Surveys & Tutorials, 20(4), 3042-3071.
https://doi.org/10.1109/COMST.2018.2854765
12. Bari, A., Gupta, A., Sharma, D., & Buyya, R. (2020). SDN-based packet sniffing:
Concepts, techniques, and challenges. Journal of Network and Computer Applications,
167, 102708. https://doi.org/10.1016/j.jnca.2020.102708
13. Chachulski, S., Jennings, N., Katti, S., & Rao, S. (2018). Trading off switch and server
resources in data centers. ACM SIGCOMM Computer Communication Review, 38(4),
63-74. https://doi.org/10.1145/1402946.1402967
14. Chetty, N., Suriyakumar, V., & Brijesh, B. (2019). Network traffic analysis using deep
learning techniques: A survey. Computers & Electrical Engineering, 77, 96-113.
https://doi.org/10.1016/j.compeleceng.2019.02.007
15. DiFranzo, D., & Antonakakis, M. (2019). Detecting cyber-physical attacks on power
grids with physical process fingerprints. IEEE Transactions on Dependable and Secure
Computing, 16(5), 796-809. https://doi.org/10.1109/TDSC.2018.2880517
16. Elkhodr, M., Shahrestani, S., & Cheung, H. (2021). A survey on the Internet of Things
security: Requirements, challenges, and solutions. Journal of Network and Computer
Applications, 167, 102754. https://doi.org/10.1016/j.jnca.2020.102754
17. Nithya, K., & Selvi, S. T. (2020). Machine learning based intrusion detection systems for
software-defined networks: A review. Journal of Network and Computer Applications,
161, 102674. https://doi.org/10.1016/j.jnca.2020.102674
18. Santos, J., Gonçalves, J., Neves, J., & Pires, J. (2019). A survey on network traffic
analysis using machine learning techniques. Journal of Network and Computer
Applications, 130, 122-147. https://doi.org/10.1016/j.jnca.2019.01.019
19. Wang, D., Jin, L., Xu, C., & Wu, Y. (2020). Deep learning-based intrusion detection for
software-defined networks: A survey. Future Generation Computer Systems, 107, 108-
117. https://doi.org/10.1016/j.future.2019.12.022
20. Yan, Y., & Wang, X. (2018). Survey on the applications of deep learning in network
traffic identification. Journal of Network and Computer Applications, 110, 1-14.
https://doi.org/10.1016/j.jnca.2018.02.001
21. Al-Sa'ady, T., Hameed, A., & Faezipour, M. (2018). A comprehensive survey of network
packet sniffing. IEEE Communications Surveys & Tutorials, 20(4), 3042-3071.
https://doi.org/10.1109/COMST.2018.2854765
22. Bari, A., Gupta, A., Sharma, D., & Buyya, R. (2020). SDN-based packet sniffing:
Concepts, techniques, and challenges. Journal of Network and Computer Applications,
167, 102708. https://doi.org/10.1016/j.jnca.2020.102708
23. Chachulski, S., Jennings, N., Katti, S., & Rao, S. (2018). Trading off switch and server
resources in data centers. ACM SIGCOMM Computer Communication Review, 38(4),
63-74. https://doi.org/10.1145/1402946.1402967
24. Chetty, N., Suriyakumar, V., & Brijesh, B. (2019). Network traffic analysis using deep
learning techniques: A survey. Computers & Electrical Engineering, 77, 96-113.
https://doi.org/10.1016/j.compeleceng.2019.02.007
25. DiFranzo, D., & Antonakakis, M. (2019). Detecting cyber-physical attacks on power
grids with physical process fingerprints. IEEE Transactions on Dependable and Secure
Computing, 16(5), 796-809. https://doi.org/10.1109/TDSC.2018.2880517
26. Elkhodr, M., Shahrestani, S., & Cheung, H. (2021). A survey on the Internet of Things
security: Requirements, challenges, and solutions. Journal of Network and Computer
Applications, 167, 102754. https://doi.org/10.1016/j.jnca.2020.102754
27. Nithya, K., & Selvi, S. T. (2020). Machine learning based intrusion detection systems for
software-defined networks: A review. Journal of Network and Computer Applications,
161, 102674. https://doi.org/10.1016/j.jnca.2020.102674
28. Santos, J., Gonçalves, J., Neves, J., & Pires, J. (2019). A survey on network traffic
analysis using machine learning techniques. Journal of Network and Computer
Applications, 130, 122-147. https://doi.org/10.1016/j.jnca.2019.01.019
29. Wang, D., Jin, L., Xu, C., & Wu, Y. (2020). Deep learning-based intrusion detection for
software-defined networks: A survey. Future Generation Computer Systems, 107, 108-
117. https://doi.org/10.1016/j.future.2019.12.022
30. Yan, Y., & Wang, X. (2018). Survey on the applications of deep learning in network
traffic identification. Journal of Network and Computer Applications, 110, 1-14.
https://doi.org/10.1016/j.jnca.2018.02.001
31. Elbirt, A., Noubir, G., & Rajan, S. (2019). Defending Against Packet Sniffers Using
Modulation Hopping. IEEE Transactions on Information Forensics and Security, 14(6),
1489-1503.
32. Gao, J., Zhang, D., Li, J., & Liu, J. (2019). Packet Sniffer Detection Based on Density
Peaks Clustering. International Journal of Distributed Sensor Networks, 15(7),
1550147719861389.
33. Delgado, M., Lloret, J., & Bri, D. (2020). Optimized Multi-Sniffer Technique for
Monitoring Environmental Parameters. Sensors, 20(2), 357.
Appendix
A – Project Plan
Timeline:
Week 1-2: Conduct literature review and research existing packet sniffing tools and
techniques in Java.
Week 3-4: Define project scope, objectives, and requirements.
Week 5-6: Design the architecture and implementation strategy.
Week 7-8: Set up the development environment and configure necessary libraries.
Week 9-10: Develop the packet sniffer tool, focusing on core functionalities.
Week 11-12: Implement additional features and optimize performance.
Week 13-14: Conduct thorough testing and debugging.
Week 15-16: Analyze captured data, compare performance, and finalize the project
report.
Week 17-18: Prepare user documentation and presentation materials.
Resources:
Hardware:
Desktop or laptop computer
Network interface card (NIC) capable of promiscuous mode
Network cables or wireless adapters for capturing network traffic (if required)
Software:
Java Development Kit (JDK)
Integrated Development Environment (IDE): NetBeans.
Packet sniffing library: jpcap and wincap.
MySQL and JDBC
Documentation: Microsoft Word.
Risks and Mitigation Strategies:
Risk: Inaccurate or incomplete packet capture.
Mitigation: Thoroughly test and debug the packet capture functionality, ensuring
compatibility with different network setups and protocols.
Risk: Performance issues and memory constraints.
Mitigation: Implement efficient data processing techniques, optimize code, and
conduct performance testing on various network scenarios.
Risk: Security vulnerabilities in the packet sniffer tool.
Mitigation: Follow secure coding practices, conduct code reviews, and perform
thorough testing to identify and fix any security flaws.
B – User Interfaces (more)
Login Page
Packet Sniffer Page (MainFrame)
1. Launch the Java packet sniffer application from NetBeans or by executing the generated JAR
file.
2. The application will open, and you will see the login page which leads to the packet sniffer
page.
1. Select the desired network interface from the "Network Interface Selection" dropdown menu.
2. Click the "Capture Start/Stop" button to start capturing packets.
3. The captured packets will be displayed in the packet display area in real-time.