Commit Diff


commit - b7c8630cf6d2b886a3e070e242ed20204031f3d9
commit + 49c481630827401661a0f596bed88fb50fda6568
blob - ad09209b00820a054c74cd24e977e8030645cb55
blob + 699c33c61893e8d57506658cc4ed7012d333329c
--- tests/tcpdump-regress/Makefile
+++ tests/tcpdump-regress/Makefile
@@ -1,48 +1,11 @@
 ARGS !=			cd ${.CURDIR} && ls proto_*.py
 TARGETS ?=		${ARGS}
 REGRESS_TARGETS =	${TARGETS:S/^/run-regress-/}
-CLEANFILES +=		*.log
 
 .for a in ${ARGS}
 run-regress-$a: $a
 	@echo '\n======== $@ ========'
-	SUDO=${SUDO} python $a
+	@python $a
 .endfor
 
 .include <bsd.regress.mk>
-
-# TODO:
-#
-# 802_11 
-# atalk
-# atm
-# cnfp
-# decnet
-# dvmrp
-# enc
-# fddi
-# frag6
-# iapp
-# igrp
-# ip6
-# ip6opts
-# ipsec
-# ipx
-# isoclns
-# krb
-# lwres
-# netbios
-# nfs
-# null
-# ofp
-# ospf6
-# pflog
-# pfsync
-# pim
-# rt6
-# sl
-# slow
-# sunrpc
-# timed
-# udpencap
-# wb
blob - 955d096b32ebe54303cb43250327d6b473c7d08c
blob + 617aa3741a6b7b26aa4bf1c7c04d8a146680dab8
--- tests/tcpdump-regress/helper.py
+++ tests/tcpdump-regress/helper.py
@@ -8,41 +8,20 @@ logging.getLogger("scapy.runtime").setLevel(logging.ER
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
 
-# sudo modprobe dummy
-# sudo ip link set name eth10 dev dummy0
-# ip link show eth10
-# ip link set dev eth10 up
+def chck(pkt, re_output):
 
-DEF_IFACE = 'em0'
-
-def chck(pkt, re_output, debug=False):
-
-        #if os.getuid() != 0:
-        #    print "root priveleges is required"
-        #    exit(1)
-
-        #if isinstance(pkt, list):
-        #    packet_count = len(pkt)
-        #else:
-        #    packet_count = 1
-
         pcap_name = 'sample.pcap'
-
         wrpcap(pcap_name, pkt)
-        tcpdump_cmd = [ 'tcpdump', '-r', pcap_name ]
-        # tcpdump_cmd = [ 'doas', 'tcpdump', '-i', DEF_IFACE, '-c', str(packet_count) ]
+        tcpdump_cmd = [ 'tcpdump', '-A', '-t', '-r', pcap_name ]
         p = sub.Popen(tcpdump_cmd, stdout=sub.PIPE, stderr=sub.PIPE)
+        output = p.communicate()[0]
+        retcode = p.wait()
 
-        while True:
-            if p.poll() is None:
-                break
-
-        # time.sleep(2)
-        # send(pkt, iface=DEF_IFACE, verbose=1)
-
-        if debug:
+        print output, "\n", re_output
+        if retcode != 0 or re_output is not output:
             pkt.show()
-            print p.communicate()[0]
-        p.wait()
-
-        os.remove(pcap_name)
+            print output, "\n", re_output
+            return 1
+        else:
+            os.remove(pcap_name)
+            return 0
blob - /dev/null
blob + e5b179191c750cd0c44313226e236cb1702b37e0 (mode 644)
--- /dev/null
+++ tests/tcpdump-regress/README
@@ -0,0 +1,48 @@
+ARGS !=			cd ${.CURDIR} && ls proto_*.py
+TARGETS ?=		${ARGS}
+REGRESS_TARGETS =	${TARGETS:S/^/run-regress-/}
+
+.for a in ${ARGS}
+run-regress-$a: $a
+	@echo '\n======== $@ ========'
+	python $a
+	#SUDO=${SUDO} python $a
+.endfor
+
+.include <bsd.regress.mk>
+
+# TODO:
+#
+# 802_11 
+# atalk
+# atm
+# cnfp
+# decnet
+# dvmrp
+# enc
+# fddi
+# frag6
+# iapp
+# igrp
+# ip6
+# ip6opts
+# ipsec
+# ipx
+# isoclns
+# krb
+# lwres
+# netbios
+# nfs
+# null
+# ofp
+# ospf6
+# pflog
+# pfsync
+# pim
+# rt6
+# sl
+# slow
+# sunrpc
+# timed
+# udpencap
+# wb
blob - 37d5dad32cc74353a97ed7b849f670e12974559f
blob + 700dbc97eb7af965426a8dbbfa8b74e04c29ebaf
Binary files tests/tcpdump-regress/helper.pyc and tests/tcpdump-regress/helper.pyc differ
blob - 185de9b3104c9b4f1871be8cc234c93ccfe40543
blob + ab74003be3c1728ebc384b197708df777aa67704
--- tests/tcpdump-regress/proto_arp.py
+++ tests/tcpdump-regress/proto_arp.py
@@ -5,13 +5,15 @@ import logging
 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+import sys
 
 def main():
 
-        print "arp"
         packet = ARP(op=ARP.who_has, psrc='192.168.1.2', pdst='192.168.1.1')
-        re_output = ""
-        helper.chck(packet, re_output)
+        re_output = "00:01:08:00:27:e6 00:01:08:00:06:04 425a 28:\n" \
+                    ".............."
+        exitcode = helper.chck(packet, re_output)
+        sys.exit(exitcode)
 
 
 if __name__ == "__main__":
blob - 332ff1981250170b545f7a2ff71c1b5928347733 (mode 644)
blob + /dev/null
--- tests/tcpdump-regress/proto_bgp.py
+++ /dev/null
@@ -1,18 +0,0 @@
-#/usr/local/bin/env python
-
-import helper
-import logging
-logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
-from scapy.all import *
-logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
-
-def main():
-
-        # https://github.com/secdev/Scapy/blob/master/scapy/contrib/bgp.py
-	print "bgp"
-	#packet = IP()/TCP()/BGPUpdate()
-	#re_output = ""
-	#helper.chck(packet, re_output)
-
-if __name__ == "__main__":
-        main()
blob - /dev/null
blob + 3e0ca3165d49a8bb995879ff165c9b9298287398 (mode 644)
--- /dev/null
+++ tests/tcpdump-regress/not_finished/proto_bgp.py
@@ -0,0 +1,17 @@
+#/usr/local/bin/env python
+
+import helper
+import logging
+logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
+from scapy.all import *
+logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+
+def main():
+
+        # https://github.com/secdev/Scapy/blob/master/scapy/contrib/bgp.py
+	#packet = IP()/TCP()/BGPUpdate()
+	#re_output = ""
+	#helper.chck(packet, re_output)
+
+if __name__ == "__main__":
+        main()
blob - /dev/null
blob + 2787bafced0856310ecb7e36a5d6f3d8fd4ad219 (mode 644)
--- /dev/null
+++ tests/tcpdump-regress/not_finished/proto_carp.py
@@ -0,0 +1,17 @@
+#/usr/local/bin/env python
+
+import helper
+import logging
+logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
+from scapy.all import *
+logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+
+def main():
+
+	# https://github.com/secdev/Scapy/blob/master/scapy/contrib/carp.py
+	#packet = CARP()
+	#re_output = ""
+	#helper.chck(packet, re_output)
+
+if __name__ == "__main__":
+        main()
blob - /dev/null
blob + 2de925d85c42e53e29d8b26f6bbe7b4b513fa4e3 (mode 644)
--- /dev/null
+++ tests/tcpdump-regress/not_finished/proto_cdp.py
@@ -0,0 +1,18 @@
+#/usr/local/bin/env python
+
+import helper
+import logging
+logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
+from scapy.all import *
+logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+
+def main():
+
+        # https://github.com/secdev/Scapy/blob/master/scapy/contrib/cdp.py
+        #packet = CDP()
+        #re_output = ""
+        #helper.chck(packet, re_output)
+
+
+if __name__ == "__main__":
+        main()
blob - /dev/null
blob + 98be4b9387d3fd2d8d267d54fef51cba0afa7953 (mode 644)
--- /dev/null
+++ tests/tcpdump-regress/not_finished/proto_etherip.py
@@ -0,0 +1,18 @@
+#/usr/local/bin/env python
+
+import helper
+import logging
+logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
+from scapy.all import *
+logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+
+def main():
+
+        # https://github.com/secdev/Scapy/blob/master/scapy/contrib/etherip.py
+        #packet = EtherIP()
+        #re_output = ""
+        #helper.chck(packet, re_output)
+
+
+if __name__ == "__main__":
+        main()
blob - /dev/null
blob + 9af86fd2c99c215b7b50bdeab816942e3c51875d (mode 644)
--- /dev/null
+++ tests/tcpdump-regress/not_finished/proto_gtp.py
@@ -0,0 +1,17 @@
+#/usr/local/bin/env python
+
+import helper
+import logging
+logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
+from scapy.all import *
+logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+
+def main():
+
+        # https://github.com/secdev/scapy/blob/master/scapy/contrib/gtp.py
+        #packet = GTP()
+        #re_output = ""
+        #helper.chck(packet, re_output)
+
+if __name__ == "__main__":
+        main()
blob - /dev/null
blob + 55fead38e7839500988bc4a0df72efef6f7c80e4 (mode 644)
--- /dev/null
+++ tests/tcpdump-regress/not_finished/proto_hsrp.py
@@ -0,0 +1,20 @@
+#/usr/local/bin/env python
+
+import helper
+import logging
+logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
+from scapy.all import *
+logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+
+def main():
+
+        #packet = Ether(src="00:0C:07:AC:02", dst="00:5E:00:00:02")  /
+        #            IP(dst="224.0.0.2", src='attacerIP', ttl=1)     / 
+        #            UDP()                                           /
+        #            HSRP(priority=230, virtualIP='virtualIP')
+        #re_output = ""
+        #helper.chck(packet, re_output)
+
+
+if __name__ == "__main__":
+        main()
blob - /dev/null
blob + edb8bce3f66c87ef15a3046fcec8d93e046c4ba9 (mode 644)
--- /dev/null
+++ tests/tcpdump-regress/not_finished/proto_ike.py
@@ -0,0 +1,18 @@
+#/usr/local/bin/env python
+
+import helper
+import logging
+logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
+from scapy.all import *
+logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+
+def main():
+
+        # https://github.com/secdev/Scapy/blob/master/scapy/contrib/ikev2.py
+        #packet = IKEv2()
+        #re_output = ""
+        #helper.chck(packet, re_output)
+
+
+if __name__ == "__main__":
+        main()
blob - /dev/null
blob + 05ea672afea36eb0ec4f15b630dd75d3e808c0bb (mode 644)
--- /dev/null
+++ tests/tcpdump-regress/not_finished/proto_lldp.py
@@ -0,0 +1,19 @@
+#/usr/local/bin/env python
+
+import helper
+import logging
+logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
+from scapy.all import *
+logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+
+def main():
+
+        # https://github.com/secdev/scapy/blob/master/scapy/contrib/lldp.py
+        #load_contrib('lldp')
+        #packet = LLDP()
+        #re_output = ""
+        #chck(packet, re_output)
+
+
+if __name__ == "__main__":
+        main()
blob - /dev/null
blob + 3662d6075a24ee3d266c5280b0162350523bd3b8 (mode 644)
--- /dev/null
+++ tests/tcpdump-regress/not_finished/proto_mpls.py
@@ -0,0 +1,18 @@
+#/usr/local/bin/env python
+
+import helper
+import logging
+logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
+from scapy.all import *
+logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+
+def main():
+
+        # https://github.com/secdev/scapy/blob/master/scapy/contrib/mpls.py
+        #packet = MPLS()
+        #re_output = ""
+        #chck(packet, re_output)
+
+
+if __name__ == "__main__":
+        main()
blob - /dev/null
blob + ca0577301a996e0a0cf25e61d70bfb6f6797cf99 (mode 644)
--- /dev/null
+++ tests/tcpdump-regress/not_finished/proto_ospf.py
@@ -0,0 +1,20 @@
+#/usr/local/bin/env python
+
+import helper
+import logging
+logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
+from scapy.all import *
+logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+
+def main():
+
+        # https://github.com/secdev/scapy/blob/master/scapy/contrib/ospf.py
+        #load_contrib('ospf')
+        print "ospf"
+        #packet = OSPF()
+        #re_output = ""
+        #helper.chck(packet, re_output)
+
+
+if __name__ == "__main__":
+        main()
blob - /dev/null
blob + 8c14b595c34ff1b4f2fa3158f9dcb15b17633c1a (mode 644)
--- /dev/null
+++ tests/tcpdump-regress/not_finished/proto_radius.py
@@ -0,0 +1,17 @@
+#/usr/local/bin/env python
+
+import helper
+import logging
+logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
+from scapy.all import *
+logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+
+def main():
+
+        print "radius"
+        #packet = Radius()
+        #re_output = ""
+        #helper.chck(packet, re_output)
+
+if __name__ == "__main__":
+        main()
blob - /dev/null
blob + 333ce647769aa6bd5bfbe788575887def9363264 (mode 644)
--- /dev/null
+++ tests/tcpdump-regress/not_finished/proto_ripng.py
@@ -0,0 +1,19 @@
+#/usr/local/bin/env python
+
+import helper
+import logging
+logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
+from scapy.all import *
+logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+
+def main():
+
+        # https://github.com/secdev/Scapy/blob/master/scapy/contrib/ripng.py
+        print "ripng"
+        #packet = RIPNG()
+        #re_output = ""
+        #helper.chck(packet, re_output)
+
+if __name__ == "__main__":
+        main()
+
blob - /dev/null
blob + a26cf19181186407419833f0ff81ec2890943bcc (mode 644)
--- /dev/null
+++ tests/tcpdump-regress/not_finished/proto_vqp.py
@@ -0,0 +1,20 @@
+#/usr/local/bin/env python
+
+import helper
+import logging
+logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
+from scapy.all import *
+logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+
+def main():
+
+        # vqp
+        # https://github.com/secdev/scapy/blob/master/scapy/contrib/vqp.py
+        print "vqp"
+        #packet = VQP()
+        #re_output = ""
+        #helper.chck(packet, re_output)
+
+
+if __name__ == "__main__":
+        main()
blob - b8df1f088715265dd58c7c6ccbc04dc8be718615 (mode 644)
blob + /dev/null
--- tests/tcpdump-regress/proto_carp.py
+++ /dev/null
@@ -1,18 +0,0 @@
-#/usr/local/bin/env python
-
-import helper
-import logging
-logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
-from scapy.all import *
-logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
-
-def main():
-
-	# https://github.com/secdev/Scapy/blob/master/scapy/contrib/carp.py
-	print "carp"
-	#packet = CARP()
-	#re_output = ""
-	#helper.chck(packet, re_output)
-
-if __name__ == "__main__":
-        main()
blob - 60e3f267845c0d84a8444ec7e2c4d2875ad65560 (mode 644)
blob + /dev/null
--- tests/tcpdump-regress/proto_cdp.py
+++ /dev/null
@@ -1,19 +0,0 @@
-#/usr/local/bin/env python
-
-import helper
-import logging
-logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
-from scapy.all import *
-logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
-
-def main():
-
-        # https://github.com/secdev/Scapy/blob/master/scapy/contrib/cdp.py
-        print "cdp"
-        #packet = CDP()
-        #re_output = ""
-        #helper.chck(packet, re_output)
-
-
-if __name__ == "__main__":
-        main()
blob - 34c54e1c9fb8b61f69664f06bd90c095747304a2
blob + 8a76f60607436890c555158e64ba2aef1d171f63
--- tests/tcpdump-regress/proto_dhcp6.py
+++ tests/tcpdump-regress/proto_dhcp6.py
@@ -5,13 +5,14 @@ import logging
 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+import sys
 
 def main():
 
-        print "dhcp6"
         packet = DHCP(options=[("message-type", "discover"), "end"])
-        re_output = ""
-        helper.chck(packet, re_output)
+        re_output = "[|ether]"
+        exitcode = helper.chck(packet, re_output)
+        sys.exit(exitcode)
 
 if __name__ == "__main__":
         main()
blob - 57b28ab1867da6e0f8f21ccc45fa4ab0e293a187
blob + 50c117446470dad643d2d56bd5ceb925441325b1
--- tests/tcpdump-regress/proto_domain.py
+++ tests/tcpdump-regress/proto_domain.py
@@ -5,20 +5,25 @@ import logging
 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+import sys
 
 
 def main():
 
-        print "domain"
-        packet = IP() / UDP(dport=53) / DNS(qd=DNSQR(qname="google.com"))
-        re_output = ""
-        helper.chck(packet, re_output)
+        udp_packet = IP() / UDP(dport=53) / DNS(qd=DNSQR(qname="google.com"))
+        udp_re_output = ""
+        udp_retcode = helper.chck(udp_packet, udp_re_output)
 
-        packet = TCP(dport=53)
-        re_output = ""
-        helper.chck(packet, re_output)
+        tcp_packet = TCP(dport=53)
+        tcp_re_output = ""
+        tcp_retcode = helper.chck(tcp_packet, tcp_re_output)
 
+        if tcp_retcode and udp_retcode:
+            sys.exit(0)
+        else:
+            sys.exit(1)
 
+
 if __name__ == "__main__":
 
         main()
blob - 8734e0a902ad9144c9ad82c64388627017788c71
blob + b5afd7e155981b338cd98190b8764dacbfee0aae
--- tests/tcpdump-regress/proto_ether.py
+++ tests/tcpdump-regress/proto_ether.py
@@ -5,13 +5,14 @@ import logging
 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+import sys
 
 def main():
 
-        print "ether"
         packet = Ether()
         re_output = ""
-        helper.chck(packet, re_output)
+        exitcode = helper.chck(packet, re_output)
+        sys.exit(exitcode)
 
 if __name__ == "__main__":
         main()
blob - d608bf90b0bc61a9526a88608f722658b6bc3743 (mode 644)
blob + /dev/null
--- tests/tcpdump-regress/proto_etherip.py
+++ /dev/null
@@ -1,19 +0,0 @@
-#/usr/local/bin/env python
-
-import helper
-import logging
-logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
-from scapy.all import *
-logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
-
-def main():
-
-        # https://github.com/secdev/Scapy/blob/master/scapy/contrib/etherip.py
-        print "etherip"
-        #packet = EtherIP()
-        #re_output = ""
-        #helper.chck(packet, re_output)
-
-
-if __name__ == "__main__":
-        main()
blob - 516d4d3f03460308e05af82c7213f1376db34c97
blob + 30a72418de08dc4114d2392563f48ccc7288031f
--- tests/tcpdump-regress/proto_gre.py
+++ tests/tcpdump-regress/proto_gre.py
@@ -5,13 +5,14 @@ import logging
 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+import sys
 
 def main():
 
-        print "gre"
         packet = GRE()
         re_output = ""
-        helper.chck(packet, re_output)
+        exitcode = helper.chck(packet, re_output)
+        sys.exit(exitcode)
 
 
 if __name__ == "__main__":
blob - b6bdf9402c67744bd22995fe5b5c105ee2895d08 (mode 644)
blob + /dev/null
--- tests/tcpdump-regress/proto_gtp.py
+++ /dev/null
@@ -1,18 +0,0 @@
-#/usr/local/bin/env python
-
-import helper
-import logging
-logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
-from scapy.all import *
-logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
-
-def main():
-
-        # https://github.com/secdev/scapy/blob/master/scapy/contrib/gtp.py
-        print "gtp"
-        #packet = GTP()
-        #re_output = ""
-        #helper.chck(packet, re_output)
-
-if __name__ == "__main__":
-        main()
blob - df4b9648e45a650fe66d2b2a47fd8ca582fe9fb2 (mode 644)
blob + /dev/null
--- tests/tcpdump-regress/proto_hsrp.py
+++ /dev/null
@@ -1,21 +0,0 @@
-#/usr/local/bin/env python
-
-import helper
-import logging
-logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
-from scapy.all import *
-logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
-
-def main():
-
-        print "hsrp"
-        #packet = Ether(src="00:0C:07:AC:02", dst="00:5E:00:00:02")  /
-        #            IP(dst="224.0.0.2", src='attacerIP', ttl=1)     / 
-        #            UDP()                                           /
-        #            HSRP(priority=230, virtualIP='virtualIP')
-        #re_output = ""
-        #helper.chck(packet, re_output)
-
-
-if __name__ == "__main__":
-        main()
blob - fbfa23e9afc8b6732e293ec03509cade6234c3b8
blob + 9bcd93d4d498cb70fd488e35bf4d2374e287c0f2
--- tests/tcpdump-regress/proto_icmp.py
+++ tests/tcpdump-regress/proto_icmp.py
@@ -5,14 +5,14 @@ import logging
 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+import sys
 
 def main():
 
-        print "icmp"
         packet = IP(dst="192.168.1.1", ttl=128) / ICMP()
         re_output = ""
-        tcpdump_opt = "-v ip and 'ip[8]>128'"
-        helper.chck(packet, re_output, debug=True)
+        exitcode = helper.chck(packet, re_output)
+        sys.exit(exitcode)
 
 if __name__ == "__main__":
         main()
blob - f6829c2e6ac38ce24102fe3827b31036c8805911
blob + 2b3011b7994dd13f03ed7c73fb076b09c2d05d07
--- tests/tcpdump-regress/proto_icmp6.py
+++ tests/tcpdump-regress/proto_icmp6.py
@@ -5,13 +5,14 @@ import logging
 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+import sys
 
 def main():
 
-        print "icmp6"
         packet = ICMPv6EchoRequest()
         re_output = ""
-        helper.chck(packet, re_output)
+        exitcode = helper.chck(packet, re_output)
+        sys.exit(exitcode)
 
 if __name__ == "__main__":
         main()
blob - f007e09ccfcacacc55d5788bb51a607a4ebec7cc (mode 644)
blob + /dev/null
--- tests/tcpdump-regress/proto_ike.py
+++ /dev/null
@@ -1,19 +0,0 @@
-#/usr/local/bin/env python
-
-import helper
-import logging
-logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
-from scapy.all import *
-logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
-
-def main():
-
-        # https://github.com/secdev/Scapy/blob/master/scapy/contrib/ikev2.py
-        print "ike"
-        #packet = IKEv2()
-        #re_output = ""
-        #helper.chck(packet, re_output)
-
-
-if __name__ == "__main__":
-        main()
blob - 5ef402444585c3da8d30e2528541586424d0a4d2
blob + 275510dec1daf97a23a287f29ac988c6ba5a54c6
--- tests/tcpdump-regress/proto_ip.py
+++ tests/tcpdump-regress/proto_ip.py
@@ -5,13 +5,14 @@ import logging
 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+import sys
 
 def main():
 
-        print "ip"
         packet = IP()
         re_output = ""
-        helper.chck(packet, re_output)
+        exitcode = helper.chck(packet, re_output)
+        sys.exit(exitcode)
 
 
 if __name__ == "__main__":
blob - d6ab3afc2493709b15903ee946376329b9f7c13f
blob + 6b5e2dd743a843fe140790468ac59896ba409f32
--- tests/tcpdump-regress/proto_l2tp.py
+++ tests/tcpdump-regress/proto_l2tp.py
@@ -5,13 +5,14 @@ import logging
 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+import sys
 
 def main():
 
-        print "l2tp"
         packet = L2TP()
         re_output = ""
-        helper.chck(packet, re_output)
+        exitcode = helper.chck(packet, re_output)
+        sys.exit(exitcode)
 
 
 if __name__ == "__main__":
blob - 1083717429bc6fbb6875ec389f7bf2142e16eef9
blob + 3dd12c39129b8343ca8230ad07a2542d2870c72e
--- tests/tcpdump-regress/proto_llc.py
+++ tests/tcpdump-regress/proto_llc.py
@@ -5,13 +5,14 @@ import logging
 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+import sys
 
 def main():
 
-        print "llc"
         packet = LLC()
         re_output = ""
-        helper.chck(packet, re_output)
+        exitcode = helper.chck(packet, re_output)
+        sys.exit(exitcode)
 
 
 if __name__ == "__main__":
blob - c04d05a083370e6226c228ab63cd7f4c147a200e (mode 644)
blob + /dev/null
--- tests/tcpdump-regress/proto_lldp.py
+++ /dev/null
@@ -1,20 +0,0 @@
-#/usr/local/bin/env python
-
-import helper
-import logging
-logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
-from scapy.all import *
-logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
-
-def main():
-
-        # https://github.com/secdev/scapy/blob/master/scapy/contrib/lldp.py
-        #load_contrib('lldp')
-        print "lldp"
-        #packet = LLDP()
-        #re_output = ""
-        #chck(packet, re_output)
-
-
-if __name__ == "__main__":
-        main()
blob - 5890029678bb9a7a7ea5e8ec0bec3347865339d5 (mode 644)
blob + /dev/null
--- tests/tcpdump-regress/proto_mpls.py
+++ /dev/null
@@ -1,19 +0,0 @@
-#/usr/local/bin/env python
-
-import helper
-import logging
-logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
-from scapy.all import *
-logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
-
-def main():
-
-        # https://github.com/secdev/scapy/blob/master/scapy/contrib/mpls.py
-        print "mpls"
-        #packet = MPLS()
-        #re_output = ""
-        #chck(packet, re_output)
-
-
-if __name__ == "__main__":
-        main()
blob - e36adb59fa40fc2f54d2987a07eb618260c20817
blob + 607d1b8728a93935fdbeb33fdad40f80e380cab1
--- tests/tcpdump-regress/proto_ntp.py
+++ tests/tcpdump-regress/proto_ntp.py
@@ -5,13 +5,14 @@ import logging
 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+import sys
 
 def main():
 
-        print "ntp"
         packet = IP()/UDP(dport=123)/Raw(load=str("\x17\x00\x03\x2a") + str("\x00")*4)
         re_output = ""
-        helper.chck(packet, re_output)
+        exitcode = helper.chck(packet, re_output)
+        sys.exit(exitcode)
 
 
 if __name__ == "__main__":
blob - ca0577301a996e0a0cf25e61d70bfb6f6797cf99 (mode 644)
blob + /dev/null
--- tests/tcpdump-regress/proto_ospf.py
+++ /dev/null
@@ -1,20 +0,0 @@
-#/usr/local/bin/env python
-
-import helper
-import logging
-logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
-from scapy.all import *
-logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
-
-def main():
-
-        # https://github.com/secdev/scapy/blob/master/scapy/contrib/ospf.py
-        #load_contrib('ospf')
-        print "ospf"
-        #packet = OSPF()
-        #re_output = ""
-        #helper.chck(packet, re_output)
-
-
-if __name__ == "__main__":
-        main()
blob - 5aa68c12c10a681c357f7d5d37fee42c88804bdb
blob + 077069d0f541c26b8fc4a148b0caf0716d6fbf81
--- tests/tcpdump-regress/proto_ppp.py
+++ tests/tcpdump-regress/proto_ppp.py
@@ -5,13 +5,14 @@ import logging
 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+import sys
 
 def main():
 
-        print "ppp"
         packet = PPP()
         re_output = ""
-        helper.chck(packet, re_output)
+        exitcode = helper.chck(packet, re_output)
+        sys.exit(exitcode)
 
 
 if __name__ == "__main__":
blob - 8c14b595c34ff1b4f2fa3158f9dcb15b17633c1a (mode 644)
blob + /dev/null
--- tests/tcpdump-regress/proto_radius.py
+++ /dev/null
@@ -1,17 +0,0 @@
-#/usr/local/bin/env python
-
-import helper
-import logging
-logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
-from scapy.all import *
-logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
-
-def main():
-
-        print "radius"
-        #packet = Radius()
-        #re_output = ""
-        #helper.chck(packet, re_output)
-
-if __name__ == "__main__":
-        main()
blob - 092db08fb095a5665e935a5f347b56e7489f069f
blob + aedf050339929d96d4dac1131a5592bde6581ba2
--- tests/tcpdump-regress/proto_raw.py
+++ tests/tcpdump-regress/proto_raw.py
@@ -5,13 +5,14 @@ import logging
 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+import sys
 
 def main():
 
-        print "raw"
         packet = Raw()
         re_output = ""
-        helper.chck(packet, re_output)
+        exitcode = helper.chck(packet, re_output)
+        sys.exit(exitcode)
 
 
 if __name__ == "__main__":
blob - 15f0527a909bc8c196467445dae33d0f7e28f680
blob + dd688802bbd667abeeb11366d8fdb6ad4e9410cc
--- tests/tcpdump-regress/proto_rip.py
+++ tests/tcpdump-regress/proto_rip.py
@@ -5,13 +5,14 @@ import logging
 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+import sys
 
 def main():
 
-        print "rip"
         packet = RIP()
         re_output = ""
-        helper.chck(packet, re_output)
+        exitcode = helper.chck(packet, re_output)
+        sys.exit(exitcode)
 
 
 if __name__ == "__main__":
blob - 333ce647769aa6bd5bfbe788575887def9363264 (mode 644)
blob + /dev/null
--- tests/tcpdump-regress/proto_ripng.py
+++ /dev/null
@@ -1,19 +0,0 @@
-#/usr/local/bin/env python
-
-import helper
-import logging
-logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
-from scapy.all import *
-logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
-
-def main():
-
-        # https://github.com/secdev/Scapy/blob/master/scapy/contrib/ripng.py
-        print "ripng"
-        #packet = RIPNG()
-        #re_output = ""
-        #helper.chck(packet, re_output)
-
-if __name__ == "__main__":
-        main()
-
blob - d0f9f34d8f432c1eefc13c3c424e558d37fcbfb0
blob + f67eb38c66c666746cd68a991338425378e19dd1
--- tests/tcpdump-regress/proto_snmp.py
+++ tests/tcpdump-regress/proto_snmp.py
@@ -5,13 +5,14 @@ import logging
 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+import sys
 
 def main():
 
-        print "snmp"
         packet = UDP(sport=161) / SNMP(community="private", PDU="")
         re_output = ""
-        helper.chck(packet, re_output)
+        exitcode = helper.chck(packet, re_output)
+        sys.exit(exitcode)
 
 
 if __name__ == "__main__":
blob - fd80afd6e645cd0c2e4c554864bd01d4fcddf362
blob + e2d1fcd188dd85f0365baec457d8a42643241852
--- tests/tcpdump-regress/proto_stp.py
+++ tests/tcpdump-regress/proto_stp.py
@@ -5,13 +5,14 @@ import logging
 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+import sys
 
 def main():
 
-        print "stp"
         packet = STP()
         re_output = ""
-        helper.chck(packet, re_output)
+        exitcode = helper.chck(packet, re_output)
+        sys.exit(exitcode)
 
 if __name__ == "__main__":
         main()
blob - 79777ef20284ba873256b55c76e034e2459c76fa
blob + d3c1708e11fcbf327451b1592042319bf59dedd2
--- tests/tcpdump-regress/proto_tcp.py
+++ tests/tcpdump-regress/proto_tcp.py
@@ -5,13 +5,14 @@ import logging
 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+import sys
 
 def main():
 
-        print "tcp"
         packet = TCP()
-        re_output = ""
-        helper.chck(packet, re_output)
+        re_output = "(000) ret      #65535"
+        exitcode = helper.chck(packet, re_output)
+        sys.exit(exitcode)
 
 if __name__ == "__main__":
         main()
blob - 7b008358a0135fb0a8334116fddab112e9dd8409
blob + 913de777c7ed812f1e076219915c6c9e8a3a08d1
--- tests/tcpdump-regress/proto_tftp.py
+++ tests/tcpdump-regress/proto_tftp.py
@@ -5,13 +5,14 @@ import logging
 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+import sys
 
 def main():
 
-        print "tftp"
         packet = IP()/UDP()/TFTP()/TFTP_DATA(block=0)
         re_output = ""
-        helper.chck(packet, re_output)
+        exitcode = helper.chck(packet, re_output)
+        sys.exit(exitcode)
 
 
 if __name__ == "__main__":
blob - ff6ab54f228994704052a3cfb46fa6bd2537e580
blob + 11226b29debdccb2c7db59105cef14b39ffe21ff
--- tests/tcpdump-regress/proto_udp.py
+++ tests/tcpdump-regress/proto_udp.py
@@ -5,13 +5,14 @@ import logging
 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+import sys
 
 def main():
 
-        print "udp"
         packet = UDP()
         re_output = ""
-        helper.chck(packet, re_output)
+        exitcode = helper.chck(packet, re_output)
+        sys.exit(exitcode)
 
 if __name__ == "__main__":
         main()
blob - a26cf19181186407419833f0ff81ec2890943bcc (mode 644)
blob + /dev/null
--- tests/tcpdump-regress/proto_vqp.py
+++ /dev/null
@@ -1,20 +0,0 @@
-#/usr/local/bin/env python
-
-import helper
-import logging
-logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
-from scapy.all import *
-logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
-
-def main():
-
-        # vqp
-        # https://github.com/secdev/scapy/blob/master/scapy/contrib/vqp.py
-        print "vqp"
-        #packet = VQP()
-        #re_output = ""
-        #helper.chck(packet, re_output)
-
-
-if __name__ == "__main__":
-        main()
blob - 7d5217c3b4331023a6cb7bd51cfbca8ae6ccd0a8
blob + e2b37f4480470e2df521ec532da95f7bfafb45ba
--- tests/tcpdump-regress/proto_vrrp.py
+++ tests/tcpdump-regress/proto_vrrp.py
@@ -5,13 +5,14 @@ import logging
 logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
 from scapy.all import *
 logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
+import sys
 
 def main():
 
-        print "vrrp"
         packet = UDP()
         re_output = ""
-        helper.chck(packet, re_output)
+        exitcode = helper.chck(packet, re_output)
+        sys.exit(exitcode)
 
 
 if __name__ == "__main__":
blob - 5b2ebcb491a68c24a390aa8ca160eef0ae44d44c (mode 644)
blob + /dev/null
--- tests/tcpdump-regress/send.py
+++ /dev/null
@@ -1,333 +0,0 @@
-#/usr/local/bin/env python
-
-import subprocess as sub
-import logging
-import time
-import os
-logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
-from scapy.all import *
-logging.getLogger("scapy.runtime").setLevel(logging.WARNING)
-
-iface = 'em0'
-
-# sudo modprobe dummy
-# sudo ip link set name eth10 dev dummy0
-# ip link show eth10
-# ip link set dev eth10 up
-
-def chck(pkt, re_output, debug=False):
-
-        if os.getuid() != 0:
-            print "root priveleges is required"
-            exit(1)
-
-        if isinstance(pkt, list):
-            packet_count = len(pkt)
-        else:
-            packet_count = 1
-
-        p = sub.Popen(('doas', 'tcpdump', '-i', iface, '-c', str(packet_count)),
-                        stdout=sub.PIPE, stderr=sub.PIPE)
-        while True:
-            if p.poll() is None:
-                break
-
-        # time.sleep(2)
-        send(pkt, iface=iface, verbose=1)
-
-	pkt.show()
-	print p.communicate()[0]
-        p.wait()
-
-
-def main():
-
-        # 802_11 ???
- 
-        print "arp"
-        packet = ARP(op=ARP.who_has, psrc='192.168.1.2', pdst='192.168.1.1')
-        re_output = ""
-        chck(packet, re_output)
-
-        # atalk
-        # atm
-
-        # https://github.com/secdev/Scapy/blob/master/scapy/contrib/bgp.py
-        #print "bgp"
-        #packet = IP()/TCP()/BGPUpdate()
-        #re_output = ""
-        #chck(packet, re_output)
-
-        print "bootp"
-        packet = BOOTP()
-        re_output = ""
-        chck(packet, re_output)
-
-        # https://github.com/secdev/Scapy/blob/master/scapy/contrib/carp.py
-        #print "carp"
-        #packet = CARP()
-        #re_output = ""
-        #chck(packet, re_output)
-
-        # cdp
-        # https://github.com/secdev/Scapy/blob/master/scapy/contrib/cdp.py
-        #print "cdp"
-        #packet = CDP()
-        #re_output = ""
-        #chck(packet, re_output)
-
-        # cnfp
-        # decnet
-
-        print "dhcp6"
-        packet = DHCP(options=[("message-type", "discover"), "end"])
-        re_output = ""
-        chck(packet, re_output)
-
-        print "domain"
-        packet = IP() / UDP(dport=53) / DNS(qd=DNSQR(qname="google.com"))
-        re_output = ""
-        chck(packet, re_output)
-
-        packet = TCP(dport=53)
-        re_output = ""
-        chck(packet, re_output)
-
-        # dvmrp
-        # enc
-        
-        print "ether"
-        packet = Ether()
-        re_output = ""
-        chck(packet, re_output)
-
-        # https://github.com/secdev/Scapy/blob/master/scapy/contrib/etherip.py
-        #print "etherip"
-        #packet = EtherIP()
-        #re_output = ""
-        #chck(packet, re_output)
-
-        # fddi
-        # frag6
-        
-        print "gre"
-        packet = GRE()
-        re_output = ""
-        chck(packet, re_output)
-
-        # https://github.com/secdev/scapy/blob/master/scapy/contrib/gtp.py
-        #print "gtp"
-        #packet = GTP()
-        #re_output = ""
-        #chck(packet, re_output)
-
-        print "hsrp"
-        packet = Ether(src=’00:00:0C:07:AC:02’, dst=’01:00:5E:00:00:02’ ) /
-                    IP(dst=’224.0.0.2’, src='attacerIP', ttl=1) / 
-                    UDP() /
-                    HSRP(priority=230, virtualIP='virtualIP'), inter=3, loop=1)
-        re_output = ""
-        chck(packet, re_output)
-
-        # iapp ???
-
-        print "icmp"
-        packet = IP(dst="192.168.1.1", ttl=128) / ICMP()
-        re_output = ""
-	tcpdump_opt = "-v ip and 'ip[8]>128'"
-        chck(packet, re_output)
-
-        print "icmp6"
-        packet = ICMPv6EchoRequest()
-        re_output = ""
-        chck(packet, re_output)
-
-        # igrp
-
-        # ike
-        # https://github.com/secdev/Scapy/blob/master/scapy/contrib/ikev2.py
-        #print "ike"
-        #packet = IKEv2()
-        #re_output = ""
-        #chck(packet, re_output)
-
-        print "ip"
-        packet = IP()
-        re_output = ""
-        chck(packet, re_output)
-
-        # ip6
-        # ip6opts
-        # ipsec
-        # ipx
-        # isoclns
-        # krb
-
-        print "l2tp"
-        packet = L2TP()
-        re_output = ""
-        chck(packet, re_output)
-
-        print "llc"
-        packet = LLC()
-        re_output = ""
-        chck(packet, re_output)
-
-        # lldp
-        # https://github.com/secdev/scapy/blob/master/scapy/contrib/lldp.py
-        #load_contrib('lldp')
-        #print "lldp"
-        #packet = LLDP()
-        #re_output = ""
-        #chck(packet, re_output)
-
-        # lwres
-
-        # https://github.com/secdev/scapy/blob/master/scapy/contrib/mpls.py
-        #print "mpls"
-        #packet = MPLS()
-        #re_output = ""
-        #chck(packet, re_output)
-
-        # netbios
-        # nfs
-
-        print "ntp"
-        packet = IP()/UDP(dport=123)/Raw(load=str("\x17\x00\x03\x2a") + str("\x00")*4)
-        re_output = ""
-        chck(packet, re_output)
-
-        # null
-        # ofp
-
-        # https://github.com/secdev/scapy/blob/master/scapy/contrib/ospf.py
-        #load_contrib('ospf')
-        #print "ospf"
-        #packet = OSPF()
-        #re_output = ""
-        #chck(packet, re_output)
-
-        # ospf6
-        # pflog
-        # pfsync
-        # pim
-
-        print "ppp"
-        packet = PPP()
-        re_output = ""
-        chck(packet, re_output)
-
-        #print "radius"
-        #packet = Radius()
-        #re_output = ""
-        #chck(packet, re_output)
-
-        print "raw"
-        packet = Raw()
-        re_output = ""
-        chck(packet, re_output)
-
-        print "rip"
-        packet = RIP()
-        re_output = ""
-        chck(packet, re_output)
-
-        # ripng
-        # https://github.com/secdev/Scapy/blob/master/scapy/contrib/ripng.py
-        #print "ripng"
-        #packet = RIPNG()
-        #re_output = ""
-        #chck(packet, re_output)
-
-        # rt6
-        # sl
-        # slow
-
-        print "snmp"
-        packet = UDP(sport=161) / SNMP(community="private", PDU="")
-        re_output = ""
-        chck(packet, re_output)
-
-        print "stp"
-        packet = STP()
-        re_output = ""
-        chck(packet, re_output)
-
-        # sunrpc
-
-        print "tcp"
-        packet = TCP()
-        re_output = ""
-        chck(packet, re_output)
-
-        print "tftp"
-        packet = IP()/UDP()/TFTP()/TFTP_DATA(block=0)
-        re_output = ""
-        chck(packet, re_output)
-
-        # timed
-
-        print "udp"
-        packet = UDP()
-        re_output = ""
-        chck(packet, re_output)
-
-        # udpencap
-
-        # vqp
-        # https://github.com/secdev/scapy/blob/master/scapy/contrib/vqp.py
-        #print "vqp"
-        #packet = VQP()
-        #re_output = ""
-        #chck(packet, re_output)
-
-        print "vrrp"
-        packet = UDP()
-        re_output = ""
-        chck(packet, re_output)
-
-        # wb
-
-if __name__ == "__main__":
-        main()
-
-"""
-from scapy.all import *
-import urllib
-import urlparse
-import threading
-import re
-
-proxy   = "http://my.proxy.server:8080"
-proxyIP = "1.2.3.4" # IP address of proxy
-
-# list of URLs
-urls = ["http://www.bbc.co.uk/news",
-        "http://www.google.co.uk"]
-
-packets = []
-
-# packet callback
-def pkt_callback(pkt):
-    packets.append(pkt) # save the packet
-
-# monitor function
-def monitor(fname):
-    del packets[:]
-    bpf_filter = "tcp and host " + proxyIP       # set this filter to capture the traffic you want
-    sniff(timeout=60, prn=pkt_callback, filter=bpf_filter, store=0)
-    f=open(fname+".data", 'w')
-    for pkt in packets:
-        f.write(repr(pkt))  # or just save the raw packet data instead
-        f.write('\n')
-    f.close()
-
-for url in urls:
-    print "capturing: " + url
-    mon = threading.Thread(target=monitor, args=(re.sub(r'\W+', '', url),))
-    mon.start()
-    data = urllib.urlopen(url, proxies={'http': proxy})
-    # this line gets IP address of url host, might be helpful 
-    # addr = socket.gethostbyname(urlparse.urlparse(data.geturl()).hostname)
-    mon.join()
-"""