Я написал следующую службу systemd tcpdumpd.service
, чтобы запустить постоянную запись tcpdump.
[Unit]
Description=TCPDumpd
After=multi-user.target network.target
[Service]
Type=simple
ExecStart=/usr/sbin/tcpdump -pni eth0 -s65535 -G 3600 -w '/var/log/tcpdump/trace_%Y-%m-%d_%H:%M:%S.pcap' -z gzip
Restart=on-abort
[Install]
WantedBy=multi-user.target
tcpdump позволяет использовать заполнители strftime, такие как %H для часа, %M для минуты и т. д., чтобы вы могли создавать файлы с отметками времени.
Однако в systemd есть специальные спецификаторы, которые можно использовать в ней, например (%n, %N, %p, %i, %U, %u, %m, %H, %b, %v). Таким образом, любой из спецификаторов которые перекрываются, например, %m и %H передают информацию из systemd и не позволяют передать заполнитель в tcpdump для создания отметки времени.
Кто-нибудь знает, есть ли способ избежать спецификаторов в systemd, чтобы я мог передать %m и %H через tcpdump?