Skip to content

Scapy 2.6.1 doesn't correctly find the 0.0.0.0 route on Linux #4730

Closed
@laplante-sean

Description

@laplante-sean

Brief description

Scapy doesn't seem to be getting the default route interface using the old conf.route.route("0.0.0.0") method.

Scapy version

2.6.1

Python version

3.12

Operating system

Ubuntu 24.04

Additional environment information

This is a digital ocean droplet with a world-routable public IPv4 address

How to reproduce

Run: conf.route.route("0.0.0.0") on Scapy 2.6.1

Actual result

('lo', '0.0.0.0', '0.0.0.0')

Expected result

('eth0', '132.193.47.117', '132.193.47.1')

Related resources

Scapy 2.6.1:

>>> conf.route.route("0.0.0.0")
('lo', '0.0.0.0', '0.0.0.0')

Scapy 2.5.0

>>> conf.route.route("0.0.0.0")
('eth0', '132.193.47.117', '132.193.47.1')
>>>

OS: Ubuntu 24.04.1 LTS

Route:

# ip route
default via 132.193.47.1 dev eth0 proto static
10.17.0.0/16 dev eth0 proto kernel scope link src 10.17.0.6
10.108.0.0/20 dev eth1 proto kernel scope link src 10.108.0.3
132.193.47.0/20 dev eth0 proto kernel scope link src 132.193.47.117

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions