icspacket
  • Examples
    • MMS Utilities Manufacturing Message Specification tools
    • DNP3 Tools DNP3 utilities and tools
    • IED Enumeration Tool Logical Device enumeration and more
  • Changelog
/
  • Discussion

Getting Started

  • Installation
  • Protocols Overview
  • Core API Reference

DNP3 / IEEE 1815

  • Reading Objects
  • Dumping Objects
  • Resolve Link Addresses
  • API Reference
    • Link Layer
    • Transport Layer
    • Application Layer
    • Master
    • Object Library
      • Primitive Types
      • Encoding / Decoding
      • Variations
      • Object Utilities

IEC 61850

  • Enumerating IEDs
  • Operating on IEDs
  • API Reference
    • Data Classes
    • Object / Data References
    • Control / Operation
    • IED Client
    • GOOSE Client
    • SampledValues Client

MMS / ISO 9506

  • Variable Target Format
  • VariableAccess Service (rwq)
  • FileManagement Service
  • API Reference
    • MMS Connection
    • Data Conversion
    • Protocol Utilities

ACSE / X.227

  • API Reference

COPP / X.226 / ISO 8823

  • API Reference
    • ISO Presentation
    • Protocol Utilities

COSP / X.225 / ISO 8237-1

  • API Reference
    • TSDU
    • SPDU Types
    • Parameter Values (PV)
    • ISO Session
    • Protocol Utilities

COTP / X.224

  • API Reference
    • TPDU Types
    • Connection

TPKT Protocol (RFC1006)

  • Using a TPKT Wrapper
  • API Reference

Development

  • Changelog

On this page

  • Overview
  • Usage
  • Practical Notes
MatrixEditor/icspacket 0 0
Edit this page
  1. icspacket /
  2. Resolve Link Addresses

Resolve Link Addresses¶

Overview¶

The dnp3linkaddr tool is designed to discover the link address of a DNP3 outstation. Since many DNP3 deployments require knowledge of the correct remote link address before initiating communication, this tool provides automated resolution methods instead of relying on brute force.

The tool currently uses two approaches:

  1. Self-Address Method Send a REQUEST_LINK_STATUS message using the Self address (0xFFFE). If the outstation supports this optional feature, it will reply with its configured link address.

  2. Passive Listening Method Listen for REQUEST_LINK_STATUS messages periodically sent by the outstation (as required by DNP3 specification section 9.2.6.5). This allows link address resolution without requiring the Self address feature.

Note

Some outstations poll at different intervals — typically between 5 and 60 seconds. You may need to wait for up to a full cycle before receiving a REQUEST_LINK_STATUS frame. Be patient, especially when relying solely on the passive listening method.

Usage¶

Resolve using the Self-Address method (default):

dnp3linkaddr 127.0.0.1

This will attempt to send a REQUEST_LINK_STATUS message using the Self address. If the outstation supports it, the tool will display the resolved link address.

Resolve by waiting for a periodic status request:

dnp3linkaddr 127.0.0.1 -no-self -interval 45

This disables the Self method and waits up to 45 seconds for the outstation to send a REQUEST_LINK_STATUS message.

Practical Notes¶

  • The Self-Address method is not mandatory in DNP3 and may not be implemented by all outstations.

  • The passive listening method is more reliable but depends on the polling cycle of the outstation.

  • Always verify that the local link address (--listen) matches what the outstation expects from the master.

Hint

  • Ain’t nobody got no time for that - but patience is key here: some devices only send REQUEST_LINK_STATUS messages once every 60 seconds.

Previous
Dumping Objects
Next
API Reference

2025, MatrixEditor

Made with Sphinx and Shibuya theme.