Compare commits

...
Sign in to create a new pull request.

49 commits

Author SHA1 Message Date
Fedora Release Engineering
e7c52d6413 Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-16 10:53:32 +00:00
Fedora Release Engineering
f00b46792e Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-16 23:22:14 +00:00
Fedora Release Engineering
41fbccd380 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 00:01:32 +00:00
Fedora Release Engineering
690c248f09 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 22:31:36 +00:00
Fedora Release Engineering
b55cb0ab11 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 21:35:34 +00:00
Software Management Team
338e79240b Eliminate use of obsolete %patchN syntax (#2283636) 2024-05-30 12:46:48 +02:00
Fedora Release Engineering
a51adf3794 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 12:14:22 +00:00
Fedora Release Engineering
f21f7ab282 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 11:58:28 +00:00
Fedora Release Engineering
f9e31a3499 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 18:47:10 +00:00
Gwyn Ciesla
80f9d306b4 migrated to SPDX license 2023-03-04 20:11:10 -06:00
Fedora Release Engineering
39822d0417 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 23:29:34 +00:00
Fedora Release Engineering
26d1a4cd7d Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 02:48:48 +00:00
Fedora Release Engineering
1a74c81851 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 23:00:37 +00:00
Fedora Release Engineering
fe82501d30 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 17:49:07 +00:00
Fedora Release Engineering
0565fae878 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 23:03:33 +00:00
Fedora Release Engineering
8b300f8e01 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 13:16:17 +00:00
Fedora Release Engineering
793e3dd126 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 21:01:58 +00:00
Gwyn Ciesla
f2f18b567c Fix last python 2 bit. 2019-08-13 08:21:24 -05:00
Gwyn Ciesla
52bf9352bf Python 3. 2019-08-06 14:33:03 -05:00
Fedora Release Engineering
21572e1fd4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-26 00:11:29 +00:00
Fedora Release Engineering
195e50319f - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-01 18:05:35 +00:00
Gwyn Ciesla
bd6db92b8b Sigh. 2018-09-10 15:22:46 -05:00
Gwyn Ciesla
e391c6dc2c Fix shebangs. 2018-09-10 15:12:08 -05:00
Gwyn Ciesla
1504dc898a FTBFS. 2018-08-02 15:38:07 -05:00
Fedora Release Engineering
c65858a8a2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 15:34:19 +00:00
Jason Tibbitts
b32037df2b Remove needless use of %defattr 2018-07-10 02:16:35 -05:00
Iryna Shcherbina
0cea0444db Update Python 2 dependency declarations to new packaging standards 2018-03-01 06:00:36 +01:00
99409569df
Remove %clean section
None of currently supported distributions need that.
Last one was EL5 which is EOL for a while.

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-14 08:28:47 +01:00
d9c9f7a5f9 Remove BuildRoot definition
None of currently supported distributions need that.
It was needed last for EL5 which is EOL now

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-13 23:59:52 +01:00
Fedora Release Engineering
6f3eb550bf - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-08 18:25:07 +00:00
Fedora Release Engineering
9c2f2e7598 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-27 02:15:40 +00:00
Fedora Release Engineering
0dc7940900 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-11 01:20:12 +00:00
Fedora Release Engineering
68a47a3494 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-04 12:00:01 +00:00
Dennis Gilmore
8a7f98938d - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-18 00:50:58 +00:00
Dennis Gilmore
2b2fe8bc1b - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild 2014-06-06 18:51:58 -05:00
Dennis Gilmore
4aa48f57eb - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild 2013-08-03 11:41:46 -05:00
Dennis Gilmore
3761162cc7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild 2013-02-14 03:55:15 -06:00
Dennis Gilmore
da8584561e - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild 2012-07-20 03:53:27 -05:00
Dennis Gilmore
a46eefaa73 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild 2012-01-13 06:04:12 -06:00
Dennis Gilmore
48484fa5d9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild 2011-02-08 08:58:21 -06:00
David Malcolm
be139b0a1b recompiling .py files against Python 2.7 (rhbz#623344) 2010-08-11 17:54:30 -04:00
Fedora Release Engineering
eaea92ec20 dist-git conversion 2010-07-29 05:36:55 +00:00
66843a9490 Crash fix. 2010-03-30 20:25:34 +00:00
Bill Nottingham
76672ab9a6 Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-25 23:30:20 +00:00
Jesse Keating
3e06f9d9c7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild 2009-07-25 23:20:56 +00:00
Jesse Keating
3609242ba7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild 2009-02-26 10:07:17 +00:00
Ignacio Vazquez-Abrams
3284c70273 Rebuild for Python 2.6 2008-12-01 15:00:38 +00:00
e675e3140f BZ 434582. 2008-02-22 22:57:19 +00:00
161fef450e Initial import. 2007-12-07 18:27:55 +00:00
8 changed files with 534 additions and 21 deletions

View file

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
pcapdiff-0.1.tar.gz

View file

@ -1,21 +0,0 @@
# Makefile for source rpm: pcapdiff
# $Id$
NAME := pcapdiff
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attept a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

345
pcapdiff-python3.patch Normal file
View file

@ -0,0 +1,345 @@
--- pcapdiff.py.bak 2007-11-27 04:21:09.000000000 -0600
+++ pcapdiff.py 2019-08-06 14:05:25.910214377 -0500
@@ -42,14 +42,14 @@
skew_amount = 0
def print_usage():
- print '''
+ print('''
Usage:
%s [-v | -h]
%s [-V[V]] [-c] [-t] [-s]
<local.pcap> <local ip> <remote.pcap> <remote ip>
- ''' % (sys.argv[0], sys.argv[0])
+ ''' % (sys.argv[0], sys.argv[0]))
- print '''
+ print('''
pcapdiff takes two pcap files (usually produced by running tcpdump on two
different computers) and compares them to find dropped and forged packets
between the two machines. Required arguments are the filenames of the two
@@ -95,14 +95,14 @@
skew and apply this difference to all other timestamps. The purpose of
this option is to reduce the amount of memory used by pcapdiff; it will
never affect the output (except for printing the clock skew).
- '''
+ ''')
(opts, args) = \
getopt.gnu_getopt(sys.argv[1:], 'vhVcts', ['version', 'help', 'verbose=', 'use-checksum', 'ignore-timestamps', 'skew-clocks'])
for opt in opts:
if opt[0] == '-v' or opt[0] == '--version':
- print "pcapdiff version:", version
+ print("pcapdiff version:", version)
sys.exit(0)
if opt[0] == '-h' or opt[0] == '--help':
print_usage()
@@ -125,7 +125,7 @@
pcap_remote = pcapy.open_offline(args[2])
ip_remote = args[3]
except:
- print "Error opening file or identifying IP address"
+ print("Error opening file or identifying IP address")
print_usage()
sys.exit(1)
@@ -147,7 +147,7 @@
'''
while 1:
try:
- packet = a.next()
+ packet = a.__next__()
except pcapy.PcapError:
return 0
spacket = parse_and_save(packet)
@@ -218,7 +218,7 @@
next['remote'] = get_packet(pcap_remote, 1)
if ['local'] == 0 or next['remote'] == 0:
- print "ERROR: No packets in one or more files!"
+ print("ERROR: No packets in one or more files!")
sys.exit(2)
last_ts_local = tsp(next['local'])
@@ -226,7 +226,7 @@
first_ts = max(last_ts_local, last_ts_remote)
if skew_clocks:
skew_amount = last_ts_local - last_ts_remote
- if v>=1: print "Clock skew:", skew_amount
+ if v>=1: print("Clock skew:", skew_amount)
# now, find first real packet we care about:
if not is_our_traffic(next['local']):
@@ -306,9 +306,9 @@
# XXX put code here
-if v >= 2: print "Parsed. Local num of unique packets: %d, num of duplicate packets: %d" % (len(manifest.keys()), total['duplicates'])
+if v >= 2: print("Parsed. Local num of unique packets: %d, num of duplicate packets: %d" % (len(list(manifest.keys())), total['duplicates']))
-if v >= 2: print "Remote num of unmatching packets: %d" % len(manifest.keys())
+if v >= 2: print("Remote num of unmatching packets: %d" % len(list(manifest.keys())))
dropped_in = []
dropped_out = []
@@ -316,70 +316,70 @@
forged_out = []
errors = []
-for p in manifest.keys():
+for p in list(manifest.keys()):
mp = manifest[p]
- if v >= 2: print '--------------'
+ if v >= 2: print('--------------')
ip_from = re_ipfrom.search(p).group(1)
ip_to = re_ipto.search(p).group(1)
if ip_from == ip_local and ip_to == ip_remote:
if mp > 0:
- if v >=2 : print "DROPPED: %d" % mp
+ if v >=2 : print("DROPPED: %d" % mp)
dropped_out += [getid(p)] * abs(mp)
elif mp < 0:
- if v >= 2: print "!!! FORGED: %d" % mp
+ if v >= 2: print("!!! FORGED: %d" % mp)
forged_out += [getid(p)] * abs(mp)
else:
- if v >= 2: print "ERROR"
+ if v >= 2: print("ERROR")
errors += [getid(p)]
elif ip_from == ip_remote and ip_to == ip_local:
if mp > 0:
- if v >= 2: print "!!! FORGED: %d" % mp
+ if v >= 2: print("!!! FORGED: %d" % mp)
forged_in += [getid(p)] * abs(mp)
elif mp < 0:
- if v >= 2: print "DROPPED: %d" % mp
+ if v >= 2: print("DROPPED: %d" % mp)
dropped_in += [getid(p)] * abs(mp)
else:
- if v >= 2: print "ERROR"
+ if v >= 2: print("ERROR")
errors += [getid(p)]
else:
if v >= 2:
- print "ERROR: ip addrs should have been dropped %d -> %d" % (ip_from, ip_to)
+ print("ERROR: ip addrs should have been dropped %d -> %d" % (ip_from, ip_to))
errors += [1]
- if v >= 2: print p
+ if v >= 2: print(p)
if v >= 1:
- print "Here are the IP identification fields for forged and dropped packets:"
- print
- print "list of inbound forged packets: ", ' '.join(forged_in)
- print
- print "list of outbound forged packets: ", ' '.join(forged_out)
- print
- print "list of inbound dropped packets: ", ' '.join(dropped_in)
- print
- print "list of outbound dropped packets: ", ' '.join(dropped_out)
- print
+ print("Here are the IP identification fields for forged and dropped packets:")
+ print()
+ print("list of inbound forged packets: ", ' '.join(forged_in))
+ print()
+ print("list of outbound forged packets: ", ' '.join(forged_out))
+ print()
+ print("list of inbound dropped packets: ", ' '.join(dropped_in))
+ print()
+ print("list of outbound dropped packets: ", ' '.join(dropped_out))
+ print()
mystery = {}
mystery['in'] = total['local'] - total['remote_received'] + len(forged_out) - len(dropped_out)
mystery['out'] = total['remote'] - total['local_received'] + len(forged_in) - len(dropped_in)
-print "-------------"
-print "Packet counts"
-print "-------------"
-
-print " inbound",\
- " outbound"
-print "sent: %9d" % total['remote'],\
- " %9d" % total['local']
-print "received: %9d" % total['local_received'],\
- " %9d" % total['remote_received']
-print "forged: %9d" % len(forged_in),\
- " %9d" % len(forged_out)
-print "dropped: %9d" % len(dropped_in),\
- " %9d" % len(dropped_out)
+print("-------------")
+print("Packet counts")
+print("-------------")
+
+print(" inbound",\
+ " outbound")
+print("sent: %9d" % total['remote'],\
+ " %9d" % total['local'])
+print("received: %9d" % total['local_received'],\
+ " %9d" % total['remote_received'])
+print("forged: %9d" % len(forged_in),\
+ " %9d" % len(forged_out))
+print("dropped: %9d" % len(dropped_in),\
+ " %9d" % len(dropped_out))
if mystery['in'] != 0 or mystery['out'] != 0:
- print "mystery: %9d" % mystery['in'],\
- " %9d" % mystery['out']
+ print("mystery: %9d" % mystery['in'],\
+ " %9d" % mystery['out'])
-if len(errors): print "\nERRORS: %d" % len(errors)
+if len(errors): print("\nERRORS: %d" % len(errors))
--- printpackets.py.bak 2007-11-16 22:09:07.000000000 -0600
+++ printpackets.py 2019-08-06 14:05:45.300107950 -0500
@@ -31,13 +31,13 @@
try:
pcap_local = pcapy.open_offline(sys.argv[1])
except IndexError:
- print "Usage: %s <pcap file>" % sys.argv[0]
+ print("Usage: %s <pcap file>" % sys.argv[0])
sys.exit(1)
while 1:
try:
- packet = pcap_local.next()
+ packet = next(pcap_local)
except pcapy.PcapError:
break
- print "------------------\n%s" % packet_to_string(parse_and_save(packet))
+ print("------------------\n%s" % packet_to_string(parse_and_save(packet)))
--- pcapdiff_helper.py.bak 2007-11-16 22:03:16.000000000 -0600
+++ pcapdiff_helper.py 2019-08-06 14:10:12.034643912 -0500
@@ -30,8 +30,8 @@
s = packet_to_string(spacket)
if s:
- print '------------'
- print s
+ print('------------')
+ print(s)
def packet_to_string(spacket, hidefields=0):
'''
@@ -51,7 +51,7 @@
for field in fields:
try:
- if spacket.has_key(field) and not (hidefields and field in hiddenfields):
+ if field in spacket and not (hidefields and field in hiddenfields):
if field == 'ip_payload_data':
s += field + ": " + str(spacket[field]).encode("string_escape") + "\n"
else:
--- pcapdiff_helper.py~ 2019-08-06 14:10:39.000000000 -0500
+++ pcapdiff_helper.py 2019-08-06 14:21:15.141999262 -0500
@@ -30,8 +30,8 @@
s = packet_to_string(spacket)
if s:
- print('------------')
- print(s)
+ print('------------')
+ print(s)
def packet_to_string(spacket, hidefields=0):
'''
--- pcapdiff_helper.py~ 2019-08-06 14:21:31.000000000 -0500
+++ pcapdiff_helper.py 2019-08-06 14:22:39.880533430 -0500
@@ -47,17 +47,17 @@
hiddenfields = 'timestamp eth_type eth_dest eth_src ip_tos ip_ttl ip_header_checksum'.split(' ')
if hidefields and spacket['eth_type'] == '(not IPv4)':
- return
+ return
for field in fields:
- try:
+ try:
if field in spacket and not (hidefields and field in hiddenfields):
- if field == 'ip_payload_data':
+ if field == 'ip_payload_data':
s += field + ": " + str(spacket[field]).encode("string_escape") + "\n"
- else:
- s += field + ": " + str(spacket[field]) + "\n"
- except KeyError:
- pass
+ else:
+ s += field + ": " + str(spacket[field]) + "\n"
+ except KeyError:
+ pass
return s
--- pcapdiff_helper.py~ 2019-08-06 14:22:49.000000000 -0500
+++ pcapdiff_helper.py 2019-08-06 14:23:12.813352392 -0500
@@ -51,7 +51,7 @@
for field in fields:
try:
- if field in spacket and not (hidefields and field in hiddenfields):
+ if field in spacket and not (hidefields and field in hiddenfields):
if field == 'ip_payload_data':
s += field + ": " + str(spacket[field]).encode("string_escape") + "\n"
else:
--- pcapdiff_helper.py~ 2019-08-06 14:23:18.000000000 -0500
+++ pcapdiff_helper.py 2019-08-06 14:23:41.238196138 -0500
@@ -53,7 +53,7 @@
try:
if field in spacket and not (hidefields and field in hiddenfields):
if field == 'ip_payload_data':
- s += field + ": " + str(spacket[field]).encode("string_escape") + "\n"
+ s += field + ": " + str(spacket[field]).encode("string_escape") + "\n"
else:
s += field + ": " + str(spacket[field]) + "\n"
except KeyError:
--- pcapdiff_helper.py~ 2019-08-06 14:23:47.000000000 -0500
+++ pcapdiff_helper.py 2019-08-06 14:24:12.667023367 -0500
@@ -71,8 +71,8 @@
packet = dump_packet[1]
if ord(packet[12]) != 8 or ord(packet[13]) != 0:
- spacket['eth_type'] = '(not IPv4)'
- return spacket
+ spacket['eth_type'] = '(not IPv4)'
+ return spacket
spacket['eth_type'] = "%02x%02x" % (ord(packet[12]), ord(packet[13]))
--- pcapdiff_helper.py~ 2019-08-06 14:24:19.000000000 -0500
+++ pcapdiff_helper.py 2019-08-06 14:25:06.375728108 -0500
@@ -82,8 +82,8 @@
ip_packet = packet[14:]
spacket['ip_version'] = binascii.hexlify(ip_packet[0])[0]
if spacket['ip_version'] != '4':
- spacket['eth_type'] = '(not IPv4)'
- return spacket
+ spacket['eth_type'] = '(not IPv4)'
+ return spacket
spacket['ip_header_length'] = binascii.hexlify(ip_packet[0])[1]
spacket['ip_tos'] = binascii.hexlify(ip_packet[1])
--- pcapdiff_helper.py~ 2019-08-06 14:25:15.000000000 -0500
+++ pcapdiff_helper.py 2019-08-06 14:27:11.309041330 -0500
@@ -100,14 +100,14 @@
#payload = ip_packet[header_len:] # also in bytes
if ignore_tcp_checksum and spacket['ip_protocol'] == 0x06:
#ignore TCP checksums because of offloading
- payload = ip_packet[header_len:header_len+16] +\
- '\0\0' + ip_packet[header_len+18:spacket['ip_total_length']] # also in bytes
+ payload = ip_packet[header_len:header_len+16] +\
+ '\0\0' + ip_packet[header_len+18:spacket['ip_total_length']] # also in bytes
elif ignore_tcp_checksum and spacket['ip_protocol'] == 0x11:
- #ignore UDP checksums because of offloading
- payload = ip_packet[header_len:header_len+4] +\
- '\0\0' + ip_packet[header_len+6:spacket['ip_total_length']] # also in bytes
+ #ignore UDP checksums because of offloading
+ payload = ip_packet[header_len:header_len+4] +\
+ '\0\0' + ip_packet[header_len+6:spacket['ip_total_length']] # also in bytes
else:
- payload = ip_packet[header_len:spacket['ip_total_length']] # also in bytes
+ payload = ip_packet[header_len:spacket['ip_total_length']] # also in bytes
spacket['ip_payload_length'] = len(payload)
spacket['ip_payload_data'] = payload

5
pcapdiff.py Normal file
View file

@ -0,0 +1,5 @@
#!/usr/bin/python3
if __name__ == '__main__':
import sys
sys.path.insert(0, '/usr/share/pcapdiff')
import pcapdiff

176
pcapdiff.spec Normal file
View file

@ -0,0 +1,176 @@
Name: pcapdiff
Version: 0.1
Release: 42%{?dist}
Summary: Compares packet captures, detects forged, dropped or mangled packets
License: GPL-2.0-or-later AND GPL-3.0-or-later
URL: http://www.eff.org/testyourisp/pcapdiff/
Source0: http://www.eff.org/files/pcapdiff-%{version}.tar.gz
Source1: pcapdiff.py
Source2: printpackets
Patch0: pcapdiff-python3.patch
BuildArch: noarch
BuildRequires: python3-devel
Requires: python3-pcapy
%description
Pcapdiff is a tool developed by the EFF to compare two packet captures and
identify potentially forged, dropped, or mangled packets. Two technically-
inclined friends can set up packet captures (e.g. tcpdump or Wireshark) on
their own computers and produce network traffic between their two computers
over the Internet. Later, they can run pcapdiff on the two packet capture
files to identify suspicious packets for further investigation. See
Detecting packet injection: a guide to observing packet spoofing by ISPs
and EFF's Test Your ISP Project for more background.
%prep
%setup -qn pcapdiff
%patch -P0 -p0
%build
%install
install -D -m 755 -p %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/pcapdiff
install -D -m 644 -p pcapdiff.py $RPM_BUILD_ROOT%{_datadir}/pcapdiff/pcapdiff.py
install -D -m 755 -p %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/printpackets
install -D -m 644 -p printpackets.py $RPM_BUILD_ROOT%{_datadir}/pcapdiff/printpackets.py
install -D -m 644 -p pcapdiff_helper.py $RPM_BUILD_ROOT%{_datadir}/pcapdiff/pcapdiff_helper.py
%files
%doc README COPYING.2 COPYING.3
%{_bindir}/pcapdiff
%{_bindir}/printpackets
%dir %{_datadir}/pcapdiff/
%{_datadir}/pcapdiff/*.py
#%{_datadir}/pcapdiff/*.pyc
#%{_datadir}/pcapdiff/*.pyo
%changelog
* Thu Jul 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-41
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-40
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-39
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-38
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-37
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-36
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-35
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sun Mar 05 2023 Gwyn Ciesla <gwync@protonmail.com> - 0.1-34
- migrated to SPDX license
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-32
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-28
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Aug 13 2019 Gwyn Ciesla <gwync@protonmail.com> 0.1-26
- Eliminate final python 2 dep.
* Tue Aug 06 2019 Gwyn Ciesla <gwync@protonmail.com> - 0.1-25
- Python 3.
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Sep 10 2018 Gwyn Ciesla <limburgher@gmail.com> - 0.1-22
- Fix shebang handling.
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Mar 01 2018 Iryna Shcherbina <ishcherb@redhat.com> - 0.1-20
- Update Python 2 dependency declarations to new packaging standards
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Wed Aug 11 2010 David Malcolm <dmalcolm@redhat.com> - 0.1-8
- recompiling .py files against Python 2.7 (rhbz#623344)
* Tue Mar 20 2010 Jon Ciesla <limb@jcomserv.net> - 0.1-7
- Fix for crash, BZ 557733.
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Mon Dec 01 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 0.1-4
- Rebuild for Python 2.6
* Fri Feb 22 2008 Jon Ciesla <limb@jcomserv.net> - 0.1-3
- BZ 434582.
* Tue Dec 04 2007 Jon Ciesla <limb@jcomserv.net> - 0.1-2
- Added python-devel BR to fix .pyc/.pyo issue.
* Fri Nov 30 2007 Jon Ciesla <limb@jcomserv.net> - 0.1-1
- create.

6
printpackets Normal file
View file

@ -0,0 +1,6 @@
#!/usr/bin/python3
if __name__ == '__main__':
import sys
sys.path.insert(0, '/usr/share/pcapdiff')
from printpackets import main
main()

View file

@ -0,0 +1 @@
2f7f122969c7894a6aff3e72c886f63d pcapdiff-0.1.tar.gz