strace 4.19
strace — утилита для диагностики и отладки программ для ОС, использующих ядро Linux. Она позволяет отслеживать и (начиная с версии 4.15) вмешиваться в процесс взаимодействия программы и ядра, включая происходящие системные вызовы, возникающие сигналы и изменения состояния процесса. Для своей работы strace использует механизм ptrace. Начиная с версии 4.13, формирование выпусков программы синхронизировано с выходом новых версий Linux.
Основные изменения:
- Существенно доработано декодирование netlink (осуществлено в рамках проекта Google Summer of Code 2017 по доработке декодирования netlink):
- Реализовано декодирование атрибутов inet_diag_req_v2, inet_diag_req_compat, packet_diag_msg, smc_diag_msg протокола NETLINK_SOCK_DIAG.
- Реализованы протоколы NETLINK_SELINUX, NETLINK_CRYPTO (базовая поддержка, атрибуты crypto_user_alg), NETLINK_KOBJECT_UEVENT.
- Реализовано декодирование сообщений addr, addrlabel, dcb, link, mdb, neigh, neightbl, netconf, nsid, route, rule, tc, tca протокола NETLINK_ROUTE.
- Реализовано декодирование атрибутов nlmsgerr.
- Реализовано декодирование ack-флагов сообщений netlink.
% strace -erecvmsg ip a > /dev/null recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base=[{{len=1228, type=RTM_NEWLINK, flags=NLM_F_MULTI, seq=1504650317, pid=26042}, {ifi_family=AF_UNSPEC, ifi_type=ARPHRD_LOOPBACK, ifi_index=if_nametoindex("lo"), ifi_flags=IFF_UP|IFF_LOOPBACK|IFF_RUNNING|0x10000, ifi_change=0}, [{{nla_len=7, nla_type=IFLA_IFNAME}, "lo"}, {{nla_len=8, nla_type=IFLA_TXQLEN}, 1}, {{nla_len=5, nla_type=IFLA_OPERSTATE}, 0}, {{nla_len=5, nla_type=IFLA_LINKMODE}, 0}, {{nla_len=8, nla_type=IFLA_MTU}, 65536}, {{nla_len=8, nla_type=IFLA_GROUP}, 0}, {{nla_len=8, nla_type=IFLA_PROMISCUITY}, 0}, {{nla_len=8, nla_type=IFLA_NUM_TX_QUEUES}, 1}, {{nla_len=8, nla_type=IFLA_GSO_MAX_SEGS}, 65535}, {{nla_len=8, nla_type=IFLA_GSO_MAX_SIZE}, 65536}, {{nla_len=8, nla_type=IFLA_NUM_RX_QUEUES}, 1}, {{nla_len=5, nla_type=IFLA_CARRIER}, 1}, {{nla_len=12, nla_type=IFLA_QDISC}, "noqueue"}, {{nla_len=8, nla_type=IFLA_CARRIER_CHANGES}, 0}, {{nla_len=5, nla_type=IFLA_PROTO_DOWN}, 0}, {{nla_len=36, nla_type=IFLA_MAP}, {mem_start=0, mem_end=0, base_addr=0, irq=0, dma=0, port=0}}, {{nla_len=10, nla_type=IFLA_ADDRESS}, "\x00\x00\x00\x00\x00\x00"}, {{nla_len=10, nla_type=IFLA_BROADCAST}, "\x00\x00\x00\x00\x00\x00"}, {{nla_len=196, nla_type=IFLA_STATS64}, {rx_packets=583590, tx_packets=583590, rx_bytes=658155987, tx_bytes=658155987, rx_errors=0, tx_errors=0, rx_dropped=0, tx_dropped=0, multicast=0, collisions=0, rx_length_errors=0, rx_over_errors=0, rx_crc_errors=0, rx_frame_errors=0, rx_fifo_errors=0, rx_missed_errors=0, tx_aborted_errors=0, tx_carrier_errors=0, tx_fifo_errors=0, tx_heartbeat_errors=0, tx_window_errors=0, rx_compressed=0, tx_compressed=0, rx_nohandler=0}}, {{nla_len=100, nla_type=IFLA_STATS}, {rx_packets=583590, tx_packets=583590, rx_bytes=658155987, tx_bytes=658155987, rx_errors=0, tx_errors=0, rx_dropped=0, tx_dropped=0, multicast=0, collisions=0, rx_length_errors=0, rx_over_errors=0, rx_crc_errors=0, rx_frame_errors=0, rx_fifo_errors=0, rx_missed_errors=0, tx_aborted_errors=0, tx_carrier_errors=0, tx_fifo_errors=0, tx_heartbeat_errors=0, tx_window_errors=0, rx_compressed=0, tx_compressed=0, rx_nohandler=0}}, {{nla_len=716, nla_type=IFLA_AF_SPEC}, "\x84\x00\x02\x00\x80\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00"...}]}, {{len=1244, type=RTM_NEWLINK, flags=NLM_F_MULTI, seq=1504650317, pid=26042}, {ifi_family=AF_UNSPEC, ifi_type=ARPHRD_ETHER, ifi_index=if_nametoindex("eth0"), ifi_flags=IFF_UP|IFF_BROADCAST|IFF_MULTICAST, ifi_change=0}, [{{nla_len=9, nla_type=IFLA_IFNAME}, "eth0"}, {{nla_len=8, nla_type=IFLA_TXQLEN}, 1000}, {{nla_len=5, nla_type=IFLA_OPERSTATE}, 2}, {{nla_len=5, nla_type=IFLA_LINKMODE}, 0}, {{nla_len=8, nla_type=IFLA_MTU}, 1500}, {{nla_len=8, nla_type=IFLA_GROUP}, 0}, {{nla_len=8, nla_type=IFLA_PROMISCUITY}, 0}, {{nla_len=8, nla_type=IFLA_NUM_TX_QUEUES}, 1}, {{nla_len=8, nla_type=IFLA_GSO_MAX_SEGS}, 65535}, {{nla_len=8, nla_type=IFLA_GSO_MAX_SIZE}, 65536}, {{nla_len=8, nla_type=IFLA_NUM_RX_QUEUES}, 1}, {{nla_len=5, nla_type=IFLA_CARRIER}, 0}, {{nla_len=15, nla_type=IFLA_QDISC}, "pfifo_fast"}, {{nla_len=8, nla_type=IFLA_CARRIER_CHANGES}, 7}, {{nla_len=5, nla_type=IFLA_PROTO_DOWN}, 0}, {{nla_len=36, nla_type=IFLA_MAP}, {mem_start=0xf4200000, mem_end=0xf4220000, base_addr=0, irq=16, dma=0, port=0}}, {{nla_len=10, nla_type=IFLA_ADDRESS}, "\xc8\x5b\x76\x4b\xc1\x1b"}, {{nla_len=10, nla_type=IFLA_BROADCAST}, "\xff\xff\xff\xff\xff\xff"}, {{nla_len=196, nla_type=IFLA_STATS64}, {rx_packets=787498, tx_packets=232301, rx_bytes=978145404, tx_bytes=25449302, rx_errors=0, tx_errors=0, rx_dropped=0, tx_dropped=0, multicast=5615, collisions=0, rx_length_errors=0, rx_over_errors=0, rx_crc_errors=0, rx_frame_errors=0, rx_fifo_errors=0, rx_missed_errors=0, tx_aborted_errors=0, tx_carrier_errors=0, tx_fifo_errors=0, tx_heartbeat_errors=0, tx_window_errors=0, rx_compressed=0, tx_compressed=0, rx_nohandler=0}}, {{nla_len=100, nla_type=IFLA_STATS}, {rx_packets=787498, tx_packets=232301, rx_bytes=978145404, tx_bytes=25449302, rx_errors=0, tx_errors=0, rx_dropped=0, tx_dropped=0, multicast=5615, collisions=0, rx_length_errors=0, rx_over_errors=0, rx_crc_errors=0, rx_frame_errors=0, rx_fifo_errors=0, rx_missed_errors=0, tx_aborted_errors=0, tx_carrier_errors=0, tx_fifo_errors=0, tx_heartbeat_errors=0, tx_window_errors=0, rx_compressed=0, tx_compressed=0, rx_nohandler=0}}, {{nla_len=8, nla_type=IFLA_NUM_VF}, 0}, {{nla_len=716, nla_type=IFLA_AF_SPEC}, "\x84\x00\x02\x00\x80\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00"...}]}, {{len=1236, type=RTM_NEWLINK, flags=NLM_F_MULTI, seq=1504650317, pid=26042}, {ifi_family=AF_UNSPEC, ifi_type=ARPHRD_ETHER, ifi_index=if_nametoindex("wlan0"), ifi_flags=IFF_UP|IFF_BROADCAST|IFF_RUNNING|IFF_MULTICAST|0x10000, ifi_change=0}, [{{nla_len=10, nla_type=IFLA_IFNAME}, "wlan0"}, {{nla_len=8, nla_type=IFLA_TXQLEN}, 1000}, {{nla_len=5, nla_type=IFLA_OPERSTATE}, 6}, {{nla_len=5, nla_type=IFLA_LINKMODE}, 1}, {{nla_len=8, nla_type=IFLA_MTU}, 1500}, {{nla_len=8, nla_type=IFLA_GROUP}, 0}, {{nla_len=8, nla_type=IFLA_PROMISCUITY}, 0}, {{nla_len=8, nla_type=IFLA_NUM_TX_QUEUES}, 4}, {{nla_len=8, nla_type=IFLA_GSO_MAX_SEGS}, 65535}, {{nla_len=8, nla_type=IFLA_GSO_MAX_SIZE}, 65536}, {{nla_len=8, nla_type=IFLA_NUM_RX_QUEUES}, 1}, {{nla_len=5, nla_type=IFLA_CARRIER}, 1}, {{nla_len=7, nla_type=IFLA_QDISC}, "mq"}, {{nla_len=8, nla_type=IFLA_CARRIER_CHANGES}, 20}, {{nla_len=5, nla_type=IFLA_PROTO_DOWN}, 0}, {{nla_len=36, nla_type=IFLA_MAP}, {mem_start=0, mem_end=0, base_addr=0, irq=0, dma=0, port=0}}, {{nla_len=10, nla_type=IFLA_ADDRESS}, "\xe4\xa7\xa0\x0a\xd0\x9d"}, {{nla_len=10, nla_type=IFLA_BROADCAST}, "\xff\xff\xff\xff\xff\xff"}, {{nla_len=196, nla_type=IFLA_STATS64}, {rx_packets=289132, tx_packets=147659, rx_bytes=290940316, tx_bytes=31811452, rx_errors=0, tx_errors=0, rx_dropped=0, tx_dropped=0, multicast=0, collisions=0, rx_length_errors=0, rx_over_errors=0, rx_crc_errors=0, rx_frame_errors=0, rx_fifo_errors=0, rx_missed_errors=0, tx_aborted_errors=0, tx_carrier_errors=0, tx_fifo_errors=0, tx_heartbeat_errors=0, tx_window_errors=0, rx_compressed=0, tx_compressed=0, rx_nohandler=0}}, {{nla_len=100, nla_type=IFLA_STATS}, {rx_packets=289132, tx_packets=147659, rx_bytes=290940316, tx_bytes=31811452, rx_errors=0, tx_errors=0, rx_dropped=0, tx_dropped=0, multicast=0, collisions=0, rx_length_errors=0, rx_over_errors=0, rx_crc_errors=0, rx_frame_errors=0, rx_fifo_errors=0, rx_missed_errors=0, tx_aborted_errors=0, tx_carrier_errors=0, tx_fifo_errors=0, tx_heartbeat_errors=0, tx_window_errors=0, rx_compressed=0, tx_compressed=0, rx_nohandler=0}}, {{nla_len=8, nla_type=IFLA_NUM_VF}, 0}, {{nla_len=716, nla_type=IFLA_AF_SPEC}, "\x84\x00\x02\x00\x80\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00"...}]}], iov_len=16384}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 3708 recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=1624, type=RTM_NEWLINK, flags=NLM_F_MULTI, seq=1504650317, pid=26042}, {ifi_family=AF_UNSPEC, ifi_type=ARPHRD_ETHER, ifi_index=if_nametoindex("lxcbr0"), ifi_flags=IFF_UP|IFF_BROADCAST|IFF_MULTICAST, ifi_change=0}, [{{nla_len=11, nla_type=IFLA_IFNAME}, "lxcbr0"}, {{nla_len=8, nla_type=IFLA_TXQLEN}, 1000}, {{nla_len=5, nla_type=IFLA_OPERSTATE}, 2}, {{nla_len=5, nla_type=IFLA_LINKMODE}, 0}, {{nla_len=8, nla_type=IFLA_MTU}, 1500}, {{nla_len=8, nla_type=IFLA_GROUP}, 0}, {{nla_len=8, nla_type=IFLA_PROMISCUITY}, 0}, {{nla_len=8, nla_type=IFLA_NUM_TX_QUEUES}, 1}, {{nla_len=8, nla_type=IFLA_GSO_MAX_SEGS}, 65535}, {{nla_len=8, nla_type=IFLA_GSO_MAX_SIZE}, 65536}, {{nla_len=8, nla_type=IFLA_NUM_RX_QUEUES}, 1}, {{nla_len=5, nla_type=IFLA_CARRIER}, 0}, {{nla_len=12, nla_type=IFLA_QDISC}, "noqueue"}, {{nla_len=8, nla_type=IFLA_CARRIER_CHANGES}, 1}, {{nla_len=5, nla_type=IFLA_PROTO_DOWN}, 0}, {{nla_len=36, nla_type=IFLA_MAP}, {mem_start=0, mem_end=0, base_addr=0, irq=0, dma=0, port=0}}, {{nla_len=10, nla_type=IFLA_ADDRESS}, "\x00\x16\x3e\x00\x00\x00"}, {{nla_len=10, nla_type=IFLA_BROADCAST}, "\xff\xff\xff\xff\xff\xff"}, {{nla_len=196, nla_type=IFLA_STATS64}, {rx_packets=0, tx_packets=0, rx_bytes=0, tx_bytes=0, rx_errors=0, tx_errors=0, rx_dropped=0, tx_dropped=0, multicast=0, collisions=0, rx_length_errors=0, rx_over_errors=0, rx_crc_errors=0, rx_frame_errors=0, rx_fifo_errors=0, rx_missed_errors=0, tx_aborted_errors=0, tx_carrier_errors=0, tx_fifo_errors=0, tx_heartbeat_errors=0, tx_window_errors=0, rx_compressed=0, tx_compressed=0, rx_nohandler=0}}, {{nla_len=100, nla_type=IFLA_STATS}, {rx_packets=0, tx_packets=0, rx_bytes=0, tx_bytes=0, rx_errors=0, tx_errors=0, rx_dropped=0, tx_dropped=0, multicast=0, collisions=0, rx_length_errors=0, rx_over_errors=0, rx_crc_errors=0, rx_frame_errors=0, rx_fifo_errors=0, rx_missed_errors=0, tx_aborted_errors=0, tx_carrier_errors=0, tx_fifo_errors=0, tx_heartbeat_errors=0, tx_window_errors=0, rx_compressed=0, tx_compressed=0, rx_nohandler=0}}, {{nla_len=392, nla_type=IFLA_LINKINFO}, [{{nla_len=11, nla_type=IFLA_INFO_KIND}, "bridge"}, {{nla_len=376, nla_type=IFLA_INFO_DATA}, "\x0c\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x12\x00\x00\x00\x00\x00"...}]}, {{nla_len=716, nla_type=IFLA_AF_SPEC}, "\x84\x00\x02\x00\x80\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00"...}]}, iov_len=16384}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 1624 recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=20, type=NLMSG_DONE, flags=NLM_F_MULTI, seq=1504650317, pid=26042}, 0}, iov_len=16384}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 20 recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base=[{{len=76, type=RTM_NEWADDR, flags=NLM_F_MULTI, seq=1504650318, pid=26042}, {ifa_family=AF_INET, ifa_prefixlen=8, ifa_flags=IFA_F_PERMANENT, ifa_scope=RT_SCOPE_HOST, ifa_index=if_nametoindex("lo")}, [{{nla_len=8, nla_type=IFA_ADDRESS}, 127.0.0.1}, {{nla_len=8, nla_type=IFA_LOCAL}, 127.0.0.1}, {{nla_len=7, nla_type=IFA_LABEL}, "lo"}, {{nla_len=8, nla_type=IFA_FLAGS}, IFA_F_PERMANENT}, {{nla_len=20, nla_type=IFA_CACHEINFO}, {ifa_prefered=4294967295, ifa_valid=4294967295, cstamp=12442, tstamp=12442}}]}, {{len=88, type=RTM_NEWADDR, flags=NLM_F_MULTI, seq=1504650318, pid=26042}, {ifa_family=AF_INET, ifa_prefixlen=24, ifa_flags=IFA_F_PERMANENT, ifa_scope=RT_SCOPE_UNIVERSE, ifa_index=if_nametoindex("wlan0")}, [{{nla_len=8, nla_type=IFA_ADDRESS}, 192.168.101.109}, {{nla_len=8, nla_type=IFA_LOCAL}, 192.168.101.109}, {{nla_len=8, nla_type=IFA_BROADCAST}, 192.168.101.255}, {{nla_len=10, nla_type=IFA_LABEL}, "wlan0"}, {{nla_len=8, nla_type=IFA_FLAGS}, IFA_F_PERMANENT}, {{nla_len=20, nla_type=IFA_CACHEINFO}, {ifa_prefered=4294967295, ifa_valid=4294967295, cstamp=4364138, tstamp=4364138}}]}, {{len=80, type=RTM_NEWADDR, flags=NLM_F_MULTI, seq=1504650318, pid=26042}, {ifa_family=AF_INET, ifa_prefixlen=24, ifa_flags=IFA_F_PERMANENT, ifa_scope=RT_SCOPE_UNIVERSE, ifa_index=if_nametoindex("lxcbr0")}, [{{nla_len=8, nla_type=IFA_ADDRESS}, 10.0.3.1}, {{nla_len=8, nla_type=IFA_LOCAL}, 10.0.3.1}, {{nla_len=11, nla_type=IFA_LABEL}, "lxcbr0"}, {{nla_len=8, nla_type=IFA_FLAGS}, IFA_F_PERMANENT}, {{nla_len=20, nla_type=IFA_CACHEINFO}, {ifa_prefered=4294967295, ifa_valid=4294967295, cstamp=12534, tstamp=12534}}]}], iov_len=16384}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 244 recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base=[{{len=72, type=RTM_NEWADDR, flags=NLM_F_MULTI, seq=1504650318, pid=26042}, {ifa_family=AF_INET6, ifa_prefixlen=128, ifa_flags=IFA_F_PERMANENT, ifa_scope=RT_SCOPE_HOST, ifa_index=if_nametoindex("lo")}, [{{nla_len=20, nla_type=IFA_ADDRESS}, ::1}, {{nla_len=20, nla_type=IFA_CACHEINFO}, {ifa_prefered=4294967295, ifa_valid=4294967295, cstamp=12442, tstamp=12442}}, {{nla_len=8, nla_type=IFA_FLAGS}, IFA_F_PERMANENT}]}, {{len=72, type=RTM_NEWADDR, flags=NLM_F_MULTI, seq=1504650318, pid=26042}, {ifa_family=AF_INET6, ifa_prefixlen=64, ifa_flags=IFA_F_PERMANENT, ifa_scope=RT_SCOPE_LINK, ifa_index=if_nametoindex("wlan0")}, [{{nla_len=20, nla_type=IFA_ADDRESS}, fe80::e6a7:a0ff:fe0a:d09d}, {{nla_len=20, nla_type=IFA_CACHEINFO}, {ifa_prefered=4294967295, ifa_valid=4294967295, cstamp=4363478, tstamp=4363478}}, {{nla_len=8, nla_type=IFA_FLAGS}, IFA_F_PERMANENT}]}], iov_len=16384}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 144 recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=20, type=NLMSG_DONE, flags=NLM_F_MULTI, seq=1504650318, pid=26042}, 0}, iov_len=16384}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 20 +++ exited with 0 +++
% strace -erecvmsg ip r l t all > /dev/null recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base=[{{len=52, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET, rtm_dst_len=0, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_MAIN, rtm_protocol=RTPROT_BOOT, rtm_scope=RT_SCOPE_UNIVERSE, rtm_type=RTN_UNICAST, rtm_flags=0}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_MAIN}, {{nla_len=8, nla_type=RTA_GATEWAY}, 192.168.101.1}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("wlan0")}]}, {{len=52, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET, rtm_dst_len=0, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_MAIN, rtm_protocol=RTPROT_BOOT, rtm_scope=RT_SCOPE_LINK, rtm_type=RTN_UNICAST, rtm_flags=0x10 /* RTM_F_??? */}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_MAIN}, {{nla_len=8, nla_type=RTA_PRIORITY}, 1002}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("eth0")}]}, {{len=60, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET, rtm_dst_len=24, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_MAIN, rtm_protocol=RTPROT_KERNEL, rtm_scope=RT_SCOPE_LINK, rtm_type=RTN_UNICAST, rtm_flags=0x10 /* RTM_F_??? */}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_MAIN}, {{nla_len=8, nla_type=RTA_DST}, 10.0.3.0}, {{nla_len=8, nla_type=RTA_PREFSRC}, 10.0.3.1}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("lxcbr0")}]}, {{len=60, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET, rtm_dst_len=16, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_MAIN, rtm_protocol=RTPROT_KERNEL, rtm_scope=RT_SCOPE_LINK, rtm_type=RTN_UNICAST, rtm_flags=0x10 /* RTM_F_??? */}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_MAIN}, {{nla_len=8, nla_type=RTA_DST}, 169.254.0.0}, {{nla_len=8, nla_type=RTA_PREFSRC}, 169.254.6.180}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("eth0")}]}, {{len=60, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET, rtm_dst_len=24, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_MAIN, rtm_protocol=RTPROT_KERNEL, rtm_scope=RT_SCOPE_LINK, rtm_type=RTN_UNICAST, rtm_flags=0}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_MAIN}, {{nla_len=8, nla_type=RTA_DST}, 192.168.101.0}, {{nla_len=8, nla_type=RTA_PREFSRC}, 192.168.101.109}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("wlan0")}]}, {{len=60, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET, rtm_dst_len=32, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_LOCAL, rtm_protocol=RTPROT_KERNEL, rtm_scope=RT_SCOPE_LINK, rtm_type=RTN_BROADCAST, rtm_flags=0x10 /* RTM_F_??? */}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_LOCAL}, {{nla_len=8, nla_type=RTA_DST}, 10.0.3.0}, {{nla_len=8, nla_type=RTA_PREFSRC}, 10.0.3.1}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("lxcbr0")}]}, {{len=60, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET, rtm_dst_len=32, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_LOCAL, rtm_protocol=RTPROT_KERNEL, rtm_scope=RT_SCOPE_HOST, rtm_type=RTN_LOCAL, rtm_flags=0}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_LOCAL}, {{nla_len=8, nla_type=RTA_DST}, 10.0.3.1}, {{nla_len=8, nla_type=RTA_PREFSRC}, 10.0.3.1}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("lxcbr0")}]}, {{len=60, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET, rtm_dst_len=32, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_LOCAL, rtm_protocol=RTPROT_KERNEL, rtm_scope=RT_SCOPE_LINK, rtm_type=RTN_BROADCAST, rtm_flags=0x10 /* RTM_F_??? */}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_LOCAL}, {{nla_len=8, nla_type=RTA_DST}, 10.0.3.255}, {{nla_len=8, nla_type=RTA_PREFSRC}, 10.0.3.1}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("lxcbr0")}]}, {{len=60, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET, rtm_dst_len=32, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_LOCAL, rtm_protocol=RTPROT_KERNEL, rtm_scope=RT_SCOPE_LINK, rtm_type=RTN_BROADCAST, rtm_flags=0}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_LOCAL}, {{nla_len=8, nla_type=RTA_DST}, 127.0.0.0}, {{nla_len=8, nla_type=RTA_PREFSRC}, 127.0.0.1}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("lo")}]}, {{len=60, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET, rtm_dst_len=8, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_LOCAL, rtm_protocol=RTPROT_KERNEL, rtm_scope=RT_SCOPE_HOST, rtm_type=RTN_LOCAL, rtm_flags=0}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_LOCAL}, {{nla_len=8, nla_type=RTA_DST}, 127.0.0.0}, {{nla_len=8, nla_type=RTA_PREFSRC}, 127.0.0.1}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("lo")}]}, {{len=60, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET, rtm_dst_len=32, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_LOCAL, rtm_protocol=RTPROT_KERNEL, rtm_scope=RT_SCOPE_HOST, rtm_type=RTN_LOCAL, rtm_flags=0}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_LOCAL}, {{nla_len=8, nla_type=RTA_DST}, 127.0.0.1}, {{nla_len=8, nla_type=RTA_PREFSRC}, 127.0.0.1}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("lo")}]}, {{len=60, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET, rtm_dst_len=32, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_LOCAL, rtm_protocol=RTPROT_KERNEL, rtm_scope=RT_SCOPE_LINK, rtm_type=RTN_BROADCAST, rtm_flags=0}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_LOCAL}, {{nla_len=8, nla_type=RTA_DST}, 127.255.255.255}, {{nla_len=8, nla_type=RTA_PREFSRC}, 127.0.0.1}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("lo")}]}, {{len=60, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET, rtm_dst_len=32, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_LOCAL, rtm_protocol=RTPROT_KERNEL, rtm_scope=RT_SCOPE_LINK, rtm_type=RTN_BROADCAST, rtm_flags=0x10 /* RTM_F_??? */}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_LOCAL}, {{nla_len=8, nla_type=RTA_DST}, 169.254.0.0}, {{nla_len=8, nla_type=RTA_PREFSRC}, 169.254.6.180}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("eth0")}]}, {{len=60, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET, rtm_dst_len=32, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_LOCAL, rtm_protocol=RTPROT_KERNEL, rtm_scope=RT_SCOPE_HOST, rtm_type=RTN_LOCAL, rtm_flags=0}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_LOCAL}, {{nla_len=8, nla_type=RTA_DST}, 169.254.6.180}, {{nla_len=8, nla_type=RTA_PREFSRC}, 169.254.6.180}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("eth0")}]}, {{len=60, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET, rtm_dst_len=32, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_LOCAL, rtm_protocol=RTPROT_KERNEL, rtm_scope=RT_SCOPE_LINK, rtm_type=RTN_BROADCAST, rtm_flags=0x10 /* RTM_F_??? */}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_LOCAL}, {{nla_len=8, nla_type=RTA_DST}, 169.254.255.255}, {{nla_len=8, nla_type=RTA_PREFSRC}, 169.254.6.180}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("eth0")}]}, {{len=60, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET, rtm_dst_len=32, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_LOCAL, rtm_protocol=RTPROT_KERNEL, rtm_scope=RT_SCOPE_LINK, rtm_type=RTN_BROADCAST, rtm_flags=0}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_LOCAL}, {{nla_len=8, nla_type=RTA_DST}, 192.168.101.0}, {{nla_len=8, nla_type=RTA_PREFSRC}, 192.168.101.109}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("wlan0")}]}, {{len=60, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET, rtm_dst_len=32, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_LOCAL, rtm_protocol=RTPROT_KERNEL, rtm_scope=RT_SCOPE_HOST, rtm_type=RTN_LOCAL, rtm_flags=0}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_LOCAL}, {{nla_len=8, nla_type=RTA_DST}, 192.168.101.109}, {{nla_len=8, nla_type=RTA_PREFSRC}, 192.168.101.109}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("wlan0")}]}, {{len=60, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET, rtm_dst_len=32, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_LOCAL, rtm_protocol=RTPROT_KERNEL, rtm_scope=RT_SCOPE_LINK, rtm_type=RTN_BROADCAST, rtm_flags=0}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_LOCAL}, {{nla_len=8, nla_type=RTA_DST}, 192.168.101.255}, {{nla_len=8, nla_type=RTA_PREFSRC}, 192.168.101.109}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("wlan0")}]}], iov_len=16384}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 1064 recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base=[{{len=116, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET6, rtm_dst_len=64, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_MAIN, rtm_protocol=RTPROT_KERNEL, rtm_scope=RT_SCOPE_UNIVERSE, rtm_type=RTN_UNICAST, rtm_flags=0}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_MAIN}, {{nla_len=20, nla_type=RTA_DST}, fe80::}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("wlan0")}, {{nla_len=8, nla_type=RTA_PRIORITY}, 256}, {{nla_len=36, nla_type=RTA_CACHEINFO}, {rta_clntref=0, rta_lastuse=59165, rta_expires=0, rta_error=0, rta_used=0, rta_id=0, rta_ts=0, rta_tsage=0}}, {{nla_len=5, nla_type=RTA_PREF}, 0}]}, {{len=96, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET6, rtm_dst_len=0, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_UNSPEC, rtm_protocol=RTPROT_KERNEL, rtm_scope=RT_SCOPE_UNIVERSE, rtm_type=RTN_UNREACHABLE, rtm_flags=0}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_UNSPEC}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("lo")}, {{nla_len=8, nla_type=RTA_PRIORITY}, 4294967295}, {{nla_len=36, nla_type=RTA_CACHEINFO}, {rta_clntref=1, rta_lastuse=1718019160, rta_expires=0, rta_error=4294967195, rta_used=1, rta_id=0, rta_ts=0, rta_tsage=0}}, {{nla_len=5, nla_type=RTA_PREF}, 0}]}, {{len=116, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET6, rtm_dst_len=128, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_LOCAL, rtm_protocol=RTPROT_UNSPEC, rtm_scope=RT_SCOPE_UNIVERSE, rtm_type=RTN_LOCAL, rtm_flags=0}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_LOCAL}, {{nla_len=20, nla_type=RTA_DST}, ::1}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("lo")}, {{nla_len=8, nla_type=RTA_PRIORITY}, 0}, {{nla_len=36, nla_type=RTA_CACHEINFO}, {rta_clntref=6, rta_lastuse=30432, rta_expires=0, rta_error=0, rta_used=480, rta_id=0, rta_ts=0, rta_tsage=0}}, {{nla_len=5, nla_type=RTA_PREF}, 0}]}, {{len=116, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET6, rtm_dst_len=128, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_LOCAL, rtm_protocol=RTPROT_UNSPEC, rtm_scope=RT_SCOPE_UNIVERSE, rtm_type=RTN_LOCAL, rtm_flags=0}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_LOCAL}, {{nla_len=20, nla_type=RTA_DST}, fe80::e6a7:a0ff:fe0a:d09d}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("lo")}, {{nla_len=8, nla_type=RTA_PRIORITY}, 0}, {{nla_len=36, nla_type=RTA_CACHEINFO}, {rta_clntref=1, rta_lastuse=59165, rta_expires=0, rta_error=0, rta_used=0, rta_id=0, rta_ts=0, rta_tsage=0}}, {{nla_len=5, nla_type=RTA_PREF}, 0}]}, {{len=116, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET6, rtm_dst_len=8, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_LOCAL, rtm_protocol=RTPROT_BOOT, rtm_scope=RT_SCOPE_UNIVERSE, rtm_type=RTN_UNICAST, rtm_flags=0}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_LOCAL}, {{nla_len=20, nla_type=RTA_DST}, ff00::}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("wlan0")}, {{nla_len=8, nla_type=RTA_PRIORITY}, 256}, {{nla_len=36, nla_type=RTA_CACHEINFO}, {rta_clntref=3, rta_lastuse=7927, rta_expires=0, rta_error=0, rta_used=19, rta_id=0, rta_ts=0, rta_tsage=0}}, {{nla_len=5, nla_type=RTA_PREF}, 0}]}, {{len=96, type=RTM_NEWROUTE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, {rtm_family=AF_INET6, rtm_dst_len=0, rtm_src_len=0, rtm_tos=0, rtm_table=RT_TABLE_UNSPEC, rtm_protocol=RTPROT_KERNEL, rtm_scope=RT_SCOPE_UNIVERSE, rtm_type=RTN_UNREACHABLE, rtm_flags=0}, [{{nla_len=8, nla_type=RTA_TABLE}, RT_TABLE_UNSPEC}, {{nla_len=8, nla_type=RTA_OIF}, if_nametoindex("lo")}, {{nla_len=8, nla_type=RTA_PRIORITY}, 4294967295}, {{nla_len=36, nla_type=RTA_CACHEINFO}, {rta_clntref=1, rta_lastuse=1718019160, rta_expires=0, rta_error=4294967195, rta_used=1, rta_id=0, rta_ts=0, rta_tsage=0}}, {{nla_len=5, nla_type=RTA_PREF}, 0}]}], iov_len=16384}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 656 recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=20, type=NLMSG_DONE, flags=NLM_F_MULTI, seq=1504653591, pid=13615}, 0}, iov_len=16384}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 20 +++ exited with 0 +++
% strace -erecvmsg ss -t > /dev/null recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=96, type=SOCK_DIAG_BY_FAMILY, flags=NLM_F_MULTI, seq=123456, pid=25540}, {idiag_family=AF_INET, idiag_state=TCP_ESTABLISHED, idiag_timer=2, idiag_retrans=0, id={idiag_sport=htons(41468), idiag_dport=htons(22), idiag_src=inet_addr("192.168.101.109"), idiag_dst=inet_addr("192.168.101.71"), idiag_if=0, idiag_cookie=[147, 0]}, idiag_expires=6499556, idiag_rqueue=0, idiag_wqueue=0, idiag_uid=1000, idiag_inode=33572}, {{nla_len=5, nla_type=INET_DIAG_SHUTDOWN}, 0}}, iov_len=8192}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 96 recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=20, type=NLMSG_DONE, flags=NLM_F_MULTI, seq=123456, pid=25540}, 0}, iov_len=8192}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 20 recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=96, type=SOCK_DIAG_BY_FAMILY, flags=NLM_F_MULTI, seq=123456, pid=25540}, {idiag_family=AF_INET6, idiag_state=TCP_CLOSE_WAIT, idiag_timer=0, idiag_retrans=0, id={idiag_sport=htons(38902), idiag_dport=htons(631), inet_pton(AF_INET6, "::1", &idiag_src), inet_pton(AF_INET6, "::1", &idiag_dst), idiag_if=0, idiag_cookie=[140, 0]}, idiag_expires=0, idiag_rqueue=1, idiag_wqueue=0, idiag_uid=0, idiag_inode=11089}, {{nla_len=5, nla_type=INET_DIAG_SHUTDOWN}, 1}}, iov_len=8192}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 96 recvmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=20, type=NLMSG_DONE, flags=NLM_F_MULTI, seq=123456, pid=25540}, 0}, iov_len=8192}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 20 +++ exited with 0 +++
- Реализовано декодирование аргументов команды KEYCTL_RESTRICT_KEYRING и параметров KDF команды KEYCTL_DH_COMPUTE системного вызова keyctl (2).
- Cписки констант и команд ioctl обновлены до соответствия Linux 4.13.
- Добавлена поддержка декодирования новых системных вызовов на архитектурах alpha (seccomp, bpf, userfaultfd, membarrier, mlock2, copy_file_range, preadv2, pwritev2, statx), microblaze (statx), s390 (s390_guarded_storage) и x86 (arch_prctl).
- Улучшено декодирование программ BPF (системный вызов bpf (2) и команды SO_ATTACH_FILTER и SO_ATTACH_REUSEPORT_CBPF системного вызова setsockopt (2)).
- Улучшено декодирование команды UFFDIO_API системного вызова ioctl (2).
- Улучшено декодирование некоторых аспектов системных вызовов getsockopt (2)/setsockopt (2).
- Исправлены ошибки в применении фильтра path tracing для системных вызовов execveat, symlink, symlinkat, inotify_add_watch, inotify_init.
- У проекта появился логотип.
>>> Полный список изменений
>>> Сайт проекта (sourceforge)
>>> Репозиторий (sourceforge)
>>> Сообщение в списке рассылки