From 37aa8753fa67a1a8ad51cdc50539cab83f94ed2b Mon Sep 17 00:00:00 2001 From: Daniil Baturin Date: Mon, 14 May 2018 13:31:47 +0200 Subject: Fix misplaces ConfigError exception. --- src/conf-mode/vyos-config-bcast-relay.py | 2 +- src/conf-mode/vyos-config-dns-forwarding.py | 2 +- src/conf-mode/vyos-config-mdns-repeater.py | 2 +- src/conf-mode/vyos-config-ntp.py | 2 +- src/conf-mode/vyos-config-ssh.py | 2 +- src/conf-mode/vyos-update-crontab.py | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/conf-mode/vyos-config-bcast-relay.py b/src/conf-mode/vyos-config-bcast-relay.py index f60664051..785690d9c 100755 --- a/src/conf-mode/vyos-config-bcast-relay.py +++ b/src/conf-mode/vyos-config-bcast-relay.py @@ -23,7 +23,7 @@ import time import subprocess from vyos.config import Config -from vyos.util import ConfigError +from vyos import ConfigError config_file = r'/etc/default/udp-broadcast-relay' diff --git a/src/conf-mode/vyos-config-dns-forwarding.py b/src/conf-mode/vyos-config-dns-forwarding.py index df273b321..0d265f819 100755 --- a/src/conf-mode/vyos-config-dns-forwarding.py +++ b/src/conf-mode/vyos-config-dns-forwarding.py @@ -23,7 +23,7 @@ import netifaces import jinja2 from vyos.config import Config -from vyos.util import ConfigError +from vyos import ConfigError config_file = r'/etc/powerdns/recursor.conf' diff --git a/src/conf-mode/vyos-config-mdns-repeater.py b/src/conf-mode/vyos-config-mdns-repeater.py index 3b8ca26ad..e648fd64f 100755 --- a/src/conf-mode/vyos-config-mdns-repeater.py +++ b/src/conf-mode/vyos-config-mdns-repeater.py @@ -22,7 +22,7 @@ import netifaces import time from vyos.config import Config -from vyos.util import ConfigError +from vyos import ConfigError config_file = r'/etc/default/mdns-repeater' diff --git a/src/conf-mode/vyos-config-ntp.py b/src/conf-mode/vyos-config-ntp.py index 061e8760e..8be12e44e 100755 --- a/src/conf-mode/vyos-config-ntp.py +++ b/src/conf-mode/vyos-config-ntp.py @@ -23,7 +23,7 @@ import jinja2 import ipaddress from vyos.config import Config -from vyos.util import ConfigError +from vyos import ConfigError config_file = r'/etc/ntp.conf' diff --git a/src/conf-mode/vyos-config-ssh.py b/src/conf-mode/vyos-config-ssh.py index 1605dcd74..4949d6463 100755 --- a/src/conf-mode/vyos-config-ssh.py +++ b/src/conf-mode/vyos-config-ssh.py @@ -22,7 +22,7 @@ import os import jinja2 from vyos.config import Config -from vyos.util import ConfigError +from vyos import ConfigError config_file = r'/etc/ssh/sshd_config' diff --git a/src/conf-mode/vyos-update-crontab.py b/src/conf-mode/vyos-update-crontab.py index 2d15de8ea..c19b88007 100755 --- a/src/conf-mode/vyos-update-crontab.py +++ b/src/conf-mode/vyos-update-crontab.py @@ -21,7 +21,7 @@ import re import sys from vyos.config import Config -from vyos.util import ConfigError +from vyos import ConfigError crontab_file = "/etc/cron.d/vyos-crontab" -- cgit v1.2.3 From ae0b5e5d142c03b2df544774aead9887d5610bf2 Mon Sep 17 00:00:00 2001 From: Daniil Baturin Date: Tue, 15 May 2018 02:55:13 +0200 Subject: T637: new op mode for traffic dumps based on tcpdump. --- Makefile | 1 + op-mode-definitions/traffic-dump.xml | 45 ++++++++++++++++++++++++++++ src/op-mode/vyos-list-dumpable-interfaces.py | 14 +++++++++ src/op-mode/vyos-list-interfaces.py | 8 +++++ 4 files changed, 68 insertions(+) create mode 100644 op-mode-definitions/traffic-dump.xml create mode 100755 src/op-mode/vyos-list-dumpable-interfaces.py create mode 100755 src/op-mode/vyos-list-interfaces.py (limited to 'src') diff --git a/Makefile b/Makefile index c328d6a8d..8a75a91e4 100644 --- a/Makefile +++ b/Makefile @@ -26,6 +26,7 @@ op_mode_definitions: rm -f $(OP_TMPL_DIR)/show/dns/node.def rm -f $(OP_TMPL_DIR)/reset/node.def rm -f $(OP_TMPL_DIR)/restart/node.def + rm -f $(OP_TMPL_DIR)/monitor/node.def .PHONY: all all: interface_definitions op_mode_definitions diff --git a/op-mode-definitions/traffic-dump.xml b/op-mode-definitions/traffic-dump.xml new file mode 100644 index 000000000..be53f866b --- /dev/null +++ b/op-mode-definitions/traffic-dump.xml @@ -0,0 +1,45 @@ + + + + + + + Monitor traffic dumps + + + + tcpdump -i $4 + + Monitor traffic dump from an interface + + + + + + + tcpdump -n -i $4 $6 + + Monitor traffic matching filter conditions + + + + tcpdump -n -i $4 -w $6 + + Save traffic dump from an interface to a file + + + + tcpdump -n -i $4 -w $6 $8 + + Save a dump of traffic matching filter conditions to a file + + + + + + + + + + + diff --git a/src/op-mode/vyos-list-dumpable-interfaces.py b/src/op-mode/vyos-list-dumpable-interfaces.py new file mode 100755 index 000000000..53ee89633 --- /dev/null +++ b/src/op-mode/vyos-list-dumpable-interfaces.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python3 + +# Extract the list of interfaces available for traffic dumps from tcpdump -D + +import re +import subprocess + +if __name__ == '__main__': + out = subprocess.check_output(['/usr/sbin/tcpdump', '-D']).decode().strip() + out = out.split("\n") + + intfs = " ".join(map(lambda s: re.search(r'\d+\.(\S+)\s', s).group(1), out)) + + print(intfs) diff --git a/src/op-mode/vyos-list-interfaces.py b/src/op-mode/vyos-list-interfaces.py new file mode 100755 index 000000000..59c9dffad --- /dev/null +++ b/src/op-mode/vyos-list-interfaces.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 + +import netifaces + +if __name__ == '__main__': + interfaces = netifaces.interfaces() + + print(" ".join(interfaces)) -- cgit v1.2.3 From 30030cc0cc808b9a1c942e89e8698ee2b522b87f Mon Sep 17 00:00:00 2001 From: Daniil Baturin Date: Tue, 15 May 2018 08:04:34 +0200 Subject: Do not try to decode data read from /sys files in the show version script, it's already an str. --- src/op-mode/vyos-show-version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/op-mode/vyos-show-version.py b/src/op-mode/vyos-show-version.py index 0990dd648..ce3b3b54f 100755 --- a/src/op-mode/vyos-show-version.py +++ b/src/op-mode/vyos-show-version.py @@ -41,7 +41,7 @@ def read_file(name): try: with open (name, "r") as f: data = f.read() - return data.decode().strip() + return data.strip() except: # This works since we only read /sys/class/* stuff # with this function -- cgit v1.2.3