Использование socat для сброса трафика на pcap

Привет всем, это мой первый вопрос на stackoverflow!

Я использую это программное обеспечение (это NIDS); одна из его особенностей — использование socat для создания прокси, сохраняющего трафик в pcap.

Это команда, которую он использует для этого: /usr/bin/socat -d OPENSSL-LISTEN:50010,cipher=HIGH,method=TLS1.2,reuseaddr,pf=ip4,fk,cert=/usr/local/owlh/src/owlhnode/conf/certs/ca.pem,verify=0 SYSTEM:"/usr/sbin/tcpdump -n -r - -s 0 -G 50 -W 100 -w /usr/local/owlh/pcaps/remote-test%d%m%Y%H%M%S.pcap not port 22"

Вот что происходит, когда с помощью curl я пытаюсь сделать запрос в Google через прокси:

╭─myasnik@tanuki ~/…/ossihr-poc/docker ‹master*›
╰─$ export https_proxy=https://0.0.0.0:50010/
╭─myasnik@tanuki ~/…/ossihr-poc/docker ‹master*›
╰─$ export http_proxy=https://0.0.0.0:50010/
╭─myasnik@tanuki ~/…/ossihr-poc/docker ‹master*›
╰─$ curl --proxy-insecure www.google.it
curl: (52) Empty reply from server
root@owlh-node:/# /usr/bin/socat -d OPENSSL-LISTEN:50010,cipher=HIGH,method=TLS1.2,reuseaddr,pf=ip4,fk,cert=/usr/local/owlh/src/owlhnode/conf/certs/ca.pem,verify=0 SYSTEM:"/usr/sbin/tcpdump -n -r - -s 0 -G 50 -W 100 -w /usr/local/owlh/pcaps/remote-test%d%m%Y%H%M%S.pcap not port 22"
tcpdump: unknown file format
2020/08/18 12:00:08 socat[1590] W system("/usr/sbin/tcpdump -n -r - -s 0 -G 50 -W 100 -w /usr/local/owlh/pcaps/remote-test%d%m%Y%H%M%S.pcap not port 22") returned with status 256
2020/08/18 12:00:08 socat[1590] W system(): No such file or directory
2020/08/18 12:00:08 socat[1589] E waitpid(): child 1590 exited with status 1

Большое спасибо за вашу помощь в преимуществе!


person Pietro Mazzini    schedule 18.08.2020    source источник
comment
Убедитесь, что в вашей системе действительно установлен tcpdump и что путь /usr/sbin/tcpdump соответствует ожидаемому.   -  person Steffen Ullrich    schedule 18.08.2020
comment
@SteffenUllrich, он у меня установлен, и путь правильный: root@owlh-node:/# which tcpdump /usr/sbin/tcpdump   -  person Pietro Mazzini    schedule 18.08.2020
comment
Я мало что знаю о socat, но то, чем он кормит tcpdump, похоже, недействительные данные. Вы получите то же сообщение об ошибке, если запустите echo hello | tcpdump -r -, так что, похоже, это та область, на исправлении которой вы должны сосредоточиться.   -  person Christopher Maynard    schedule 19.08.2020
comment
Я думаю, проблема в том, что опция -r ожидает чтения файла, но заголовок libpcap не отправляется в tcpdump, так что вы могли бы сначала попытаться каким-то образом сбросить фиктивный заголовок libpcap в tcpdump?   -  person Christopher Maynard    schedule 19.08.2020


Ответы (1)


Вот ответ на вопрос, я думаю, что неправильно понял, как это должно было быть сделано: https://github.com/OwlH-net/OwlH-Node/issues/47

person Pietro Mazzini    schedule 20.08.2020