All Projects → gopcua → Opcua

gopcua / Opcua

Licence: mit
Native Go OPC-UA library

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Opcua

ICS-TestBed-Framework
ICS TestBed Framework
Stars: ✭ 39 (-89.79%)
Mutual labels:  ics, scada, opc-ua
Grassmarlin
Provides situational awareness of Industrial Control Systems (ICS) and Supervisory Control and Data Acquisition (SCADA) networks in support of network security assessments. #nsacyber
Stars: ✭ 621 (+62.57%)
Mutual labels:  ics, scada
Icsmaster
ICS/SCADA Security Resource(整合工控安全相关资源)
Stars: ✭ 582 (+52.36%)
Mutual labels:  ics, scada
Conpot
ICS/SCADA honeypot
Stars: ✭ 853 (+123.3%)
Mutual labels:  ics, scada
Pycomm3
A Python Ethernet/IP library for communicating with Allen-Bradley PLCs.
Stars: ✭ 102 (-73.3%)
Mutual labels:  protocol, scada
Opendnp3
DNP3 (IEEE-1815) protocol stack. Modern C++ with bindings for .NET and Java.
Stars: ✭ 212 (-44.5%)
Mutual labels:  protocol, scada
Ics Security Tools
Tools, tips, tricks, and more for exploring ICS Security.
Stars: ✭ 749 (+96.07%)
Mutual labels:  ics, scada
Isf
ISF(Industrial Control System Exploitation Framework),a exploitation framework based on Python
Stars: ✭ 690 (+80.63%)
Mutual labels:  ics, scada
prickly-pete
A script using Docker to quickly bring up some honeypots exposing lots of services. For research, reconnaissance, and fun. (DISCLAIMER may not be fun, not to be taken internally, aim away from face)
Stars: ✭ 29 (-92.41%)
Mutual labels:  ics, scada
Industrial-Security-Auditing-Framework
ISAF aims to be a framework that provides the necessary tools for the correct security audit of industrial environments. This repo is a mirror of https://gitlab.com/d0ubl3g/industrial-security-auditing-framework.
Stars: ✭ 43 (-88.74%)
Mutual labels:  ics, scada
iot-master
物联大师是开源免费的物联网智能网关系统,集成了标准Modbus和主流PLC等多种协议,支持数据采集、公式计算、定时控制、自动控制、异常报警、流量监控、Web组态、远程调试等功能,适用于大部分物联网和工业互联网应用场景。
Stars: ✭ 119 (-68.85%)
Mutual labels:  scada, opc-ua
Python Opcua
LGPL Pure Python OPC-UA Client and Server
Stars: ✭ 863 (+125.92%)
Mutual labels:  protocol, opc-ua
Oshmi
SCADA HMI for substations and automation applications.
Stars: ✭ 180 (-52.88%)
Mutual labels:  opc-ua, scada
Opcua Asyncio
OPC UA library for python > 3.6 asyncio
Stars: ✭ 251 (-34.29%)
Mutual labels:  protocol, opc-ua
Trisis Triton Hatman
Repository containting original and decompiled files of TRISIS/TRITON/HATMAN malware
Stars: ✭ 178 (-53.4%)
Mutual labels:  ics, scada
CyberICS.github.io
News and publication on cybersecurity in industry
Stars: ✭ 29 (-92.41%)
Mutual labels:  ics, scada
Fuxa
Web-based Process Visualization (SCADA/HMI/Dashboard) software
Stars: ✭ 262 (-31.41%)
Mutual labels:  opc-ua, scada
Requestnetwork
A JavaScript library for interacting with the Request Network protocol
Stars: ✭ 311 (-18.59%)
Mutual labels:  protocol
Rfcs
Specifications for Interledger and related protocols
Stars: ✭ 345 (-9.69%)
Mutual labels:  protocol
Protocol
The Hoa\Protocol library.
Stars: ✭ 308 (-19.37%)
Mutual labels:  protocol

Artwork by Ashley McNamara - Inspired by Renee French - Taken from https://gopherize.me by Mat Ryer

OPCUA

A native Go implementation of the OPC/UA Binary Protocol.

You need go1.13 or higher. We test with the current and previous Go version.

CircleCI GitHub GoDoc GolangCI License Version

Quickstart

# make sure you have go1.13 or higher

# install library
go get -u github.com/gopcua/opcua

# get current date and time 'ns=0;i=2258'
go run examples/datetime/datetime.go -endpoint opc.tcp://localhost:4840

# read the server version
go run examples/read/read.go -endpoint opc.tcp://localhost:4840 -node 'ns=0;i=2261'

# get the current date time using different security and authentication modes
go run examples/crypto/*.go -endpoint opc.tcp://localhost:4840 -cert path/to/cert.pem -key path/to/key.pem -sec-policy Basic256 -sec-mode SignAndEncrypt

# checkout examples/ for more examples...

Sponsors

The gopcua project is sponsored by the following organizations by supporting the active committers to the project:

Northvolt evosoft

Users

We would also like to list organizations which use gopcua in production. Please open a PR to include your logo below.

strtaeos

Disclaimer

We are still actively working on this project and the APIs will change.

We have started to tag the code to support go modules and reproducible builds but there is still no guarantee of API stability.

However, you can safely assume that we are aiming to make the APIs as stable as possible. :)

The Current State was moved to the Wiki.

Your Help is Appreciated

If you are looking for ways to contribute you can

  • test the high-level client against real OPC/UA servers
  • add functions to the client or tell us which functions you need for gopcua to be useful
  • work on the security layer, server and other components
  • and last but not least, file issues, review code and write/update documentation

Also, if the library is already useful please spread the word as a motivation.

Authors

The Gopcua Team.

If you need to get in touch with us directly you may find us on Keybase.io but try to create an issue first.

Supported Features

The current focus is on the OPC UA Binary protocol over TCP. No other protocols are supported at this point.

Categories Features Supported Notes
Encoding OPC UA Binary Yes
OPC UA JSON not planned
OPC UA XML not planned
Transport UA-TCP UA-SC UA Binary Yes
OPC UA HTTPS not planned
SOAP-HTTP WS-SC UA Binary not planned
SOAP-HTTP WS-SC UA XML not planned
SOAP-HTTP WS-SC UA XML-UA Binary not planned
Encryption None Yes
Basic128Rsa15 Yes
Basic256 Yes
Basic256Sha256 Yes
Authentication Anonymous Yes
User Name Password Yes
X509 Certificate Yes

Services

The current set of supported services is only for the high-level client.

Service Set Service Supported Notes
Discovery Service Set FindServers
FindServersOnNetwork
GetEndpoints Yes
RegisterServer
RegisterServer2
Secure Channel Service Set OpenSecureChannel Yes
CloseSecureChannel Yes
Session Service Set CreateSession Yes
CloseSession Yes
ActivateSession Yes
Cancel
Node Management Service Set AddNodes
AddReferences
DeleteNodes
DeleteReferences
View Service Set Browse Yes
BrowseNext Yes
TranslateBrowsePathsToNodeIds
RegisterNodes Yes
UnregisterNodes Yes
Query Service Set QueryFirst
QueryNext
Attribute Service Set Read Yes
Write Yes
HistoryRead Yes
HistoryUpdate
Method Service Set Call Yes
MonitoredItems Service Set CreateMonitoredItems Yes
DeleteMonitoredItems Yes
ModifyMonitoredItems
SetMonitoringMode
SetTriggering
Subscription Service Set CreateSubscription Yes
ModifySubscription
SetPublishingMode
Publish Yes
Republish
DeleteSubscriptions Yes
TransferSubscriptions

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].