Planning the Application

Python 3: Automating Network Tasks Network Application #4 - Building a Basic Network Packet Sniffer
3 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$99.99
List Price:  $139.99
You save:  $40
€92.81
List Price:  €129.94
You save:  €37.13
£79.68
List Price:  £111.56
You save:  £31.87
CA$136.70
List Price:  CA$191.38
You save:  CA$54.68
A$151.47
List Price:  A$212.07
You save:  A$60.59
S$134.88
List Price:  S$188.84
You save:  S$53.96
HK$781.18
List Price:  HK$1,093.68
You save:  HK$312.50
CHF 90.49
List Price:  CHF 126.69
You save:  CHF 36.20
NOK kr1,087.35
List Price:  NOK kr1,522.33
You save:  NOK kr434.98
DKK kr692.92
List Price:  DKK kr970.11
You save:  DKK kr277.19
NZ$166.33
List Price:  NZ$232.87
You save:  NZ$66.53
د.إ367.25
List Price:  د.إ514.16
You save:  د.إ146.91
৳10,943.35
List Price:  ৳15,321.13
You save:  ৳4,377.77
₹8,337.18
List Price:  ₹11,672.39
You save:  ₹3,335.20
RM473.95
List Price:  RM663.55
You save:  RM189.60
₦123,487.65
List Price:  ₦172,887.65
You save:  ₦49,400
₨27,738.77
List Price:  ₨38,835.40
You save:  ₨11,096.62
฿3,675.50
List Price:  ฿5,145.85
You save:  ฿1,470.34
₺3,235.04
List Price:  ₺4,529.19
You save:  ₺1,294.14
B$509.60
List Price:  B$713.47
You save:  B$203.86
R1,850.72
List Price:  R2,591.08
You save:  R740.36
Лв181.51
List Price:  Лв254.13
You save:  Лв72.61
₩135,590.93
List Price:  ₩189,832.73
You save:  ₩54,241.80
₪370.74
List Price:  ₪519.05
You save:  ₪148.31
₱5,705.78
List Price:  ₱7,988.32
You save:  ₱2,282.54
¥15,303.96
List Price:  ¥21,426.16
You save:  ¥6,122.20
MX$1,697.07
List Price:  MX$2,375.96
You save:  MX$678.89
QR363.69
List Price:  QR509.19
You save:  QR145.49
P1,358.38
List Price:  P1,901.79
You save:  P543.40
KSh13,211.65
List Price:  KSh18,496.84
You save:  KSh5,285.18
E£4,788.95
List Price:  E£6,704.73
You save:  E£1,915.77
ብር5,723.72
List Price:  ብር8,013.44
You save:  ብር2,289.71
Kz83,591.64
List Price:  Kz117,031.64
You save:  Kz33,440
CLP$94,219
List Price:  CLP$131,910.38
You save:  CLP$37,691.37
CN¥723.64
List Price:  CN¥1,013.13
You save:  CN¥289.48
RD$5,794.19
List Price:  RD$8,112.10
You save:  RD$2,317.90
DA13,457.95
List Price:  DA18,841.67
You save:  DA5,383.72
FJ$225.30
List Price:  FJ$315.43
You save:  FJ$90.13
Q775.06
List Price:  Q1,085.12
You save:  Q310.05
GY$20,860.22
List Price:  GY$29,205.14
You save:  GY$8,344.92
ISK kr13,949.49
List Price:  ISK kr19,529.85
You save:  ISK kr5,580.35
DH1,005.73
List Price:  DH1,408.07
You save:  DH402.33
L1,766.28
List Price:  L2,472.87
You save:  L706.58
ден5,712.52
List Price:  ден7,997.75
You save:  ден2,285.23
MOP$802.57
List Price:  MOP$1,123.63
You save:  MOP$321.06
N$1,845.78
List Price:  N$2,584.16
You save:  N$738.38
C$3,670.67
List Price:  C$5,139.09
You save:  C$1,468.41
रु13,313.56
List Price:  रु18,639.52
You save:  रु5,325.95
S/372.22
List Price:  S/521.13
You save:  S/148.90
K385.44
List Price:  K539.63
You save:  K154.19
SAR375.02
List Price:  SAR525.04
You save:  SAR150.02
ZK2,689.66
List Price:  ZK3,765.63
You save:  ZK1,075.97
L462.03
List Price:  L646.86
You save:  L184.83
Kč2,326.92
List Price:  Kč3,257.79
You save:  Kč930.86
Ft36,152.68
List Price:  Ft50,615.20
You save:  Ft14,462.51
SEK kr1,078.64
List Price:  SEK kr1,510.15
You save:  SEK kr431.50
ARS$87,815.44
List Price:  ARS$122,945.14
You save:  ARS$35,129.69
Bs690.51
List Price:  Bs966.74
You save:  Bs276.23
COP$388,367.89
List Price:  COP$543,730.59
You save:  COP$155,362.69
₡50,962.55
List Price:  ₡71,349.61
You save:  ₡20,387.06
L2,463.20
List Price:  L3,448.58
You save:  L985.38
₲746,475.93
List Price:  ₲1,045,096.16
You save:  ₲298,620.23
$U3,821.56
List Price:  $U5,350.33
You save:  $U1,528.77
zł401.98
List Price:  zł562.79
You save:  zł160.80
Already have an account? Log In

Transcript

Hi, and welcome to the fourth network application of this course. I really hope you enjoyed this training up to this point, and I'm going to make sure you also enjoy the rest of it. So in this section we are going to change things a bit, mainly the operating system used to run and test the application. We are going to use Ubuntu Linux instead of Windows 10 to build our basic packet sniffer. Why? Well, that's because windows may behave in unexpected ways when using one of the network interfaces to sniff and analyze traffic in the network.

Configuring various network interface card settings in Windows will most probably give you headaches when counting when manufacturers drivers driver versions as opposed to Linux, where you have way more control over the way network interfaces are handled. In the next lecture we are going to download and install a boon to Linux version 18 dot 04 LTS in VirtualBox. So we're going to create A new virtual machine that will be connected to the same subnet as our windows loopback adapter and the Arista switches. But more on that, as I said in the following video. For now, let's focus on the functionality of our network application and the steps we need to take in order to end up with a working Python application. So, first of all, as always, we will start writing our application code by importing the necessary modules.

Apart from a couple of Python built in modules, we will also use this Cappy module which is entirely dedicated to capturing handling and analyzing network traffic. So SCAP II will be the centerpiece of our application, the engine that makes everything run according to our plan and goals. Next, we are going to ask the user to input the interface on which we want the network traffic to be sniffed and captured the number of packets to sniff the time interval in which to run the sniffer. For instance, you may want to capture the traffic in the next 30 seconds. And finally, the protocol that the sniffer should consider for sniffing. Maybe you want only boothby or ICMP packets to be captured and filtered.

Last but not least, we want our application to log the information about the packets it captures to a text file. Therefore, we should also ask the user to enter the name of the file of that file, so the application will know where to write and save the data. Next, we will define a function that takes care of filtering the packets based on the protocol that the user chose, and then proceeds to writing the data to the log file. This data actually contains the timestamp, the protocol, the source, MAC address, and destination MAC address of each packet as basic pieces of data about the packet. Of course, additional parameters can be added to each log record, but we will stick with a couple of basic values in order to test the application and keep the log file size decent. Finally, the last thing to do is start the actual sniffing process by also passing the values that the user entered at the prompt as arguments to the sniff function from within Skippy.

Having that said, I will see you in the next lecture, where we are going to configure our network environment for this section. See you there.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.