SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
www.glcnetworks.com
API
(Application Programming Interface)
GLC webinar, 29 December 2016
Achmad Mardiansyah
achmad@glcnetworks.com
GLC Networks, Indonesia
www.glcnetworks.com
Agenda
● Introduction
● API intro
● Mikrotik API
● Demo
● Q & A
2
www.glcnetworks.com
What is GLC?
● Garda Lintas Cakrawala (www.glcnetworks.com)
● An Indonesian company
● Located in Bandung
● Areas: Training, IT Consulting
● Mikrotik Certified Training Partner
● Mikrotik Certified Consultant
● Mikrotik distributor
3
www.glcnetworks.com
About GLC webinar?
● First webinar: january 1, 2010 (title:
tahun baru bersama solaris - new
year with solaris OS)
● As a sharing event with various
topics: linux, networking, wireless,
database, programming, etc
● Regular schedule: every 2 weeks
● Irregular schedule: as needed
● Checking schedule:
http://www.glcnetworks.com/main/sc
hedule
● You are invited to be a presenter
○ No need to be an expert
○ This is a forum for sharing: knowledge,
experiences, information
4
www.glcnetworks.com
Trainer Introduction
● Name: Achmad Mardiansyah
● Base: bandung, Indonesia
● Linux user since 1999
● Mikrotik user since 2007
● Certified Trainer (MTCNA/RE/WE/UME/INE/TCE)
● Mikrotik Certified Consultant
● Work: Telco engineer, Sysadmin, PHP programmer,
and Lecturer
● Personal website: http://achmadjournal.com
● More info:
http://au.linkedin.com/in/achmadmardiansyah
5
www.glcnetworks.com
Please introduce yourself
● Your name
● Your company/university?
● Your networking experience?
● Your mikrotik experience?
● Your expectation from this course?
6
www.glcnetworks.com
What is Mikrotik?
● Name of a company
● A brand
● A program (e.g. mikrotik academy)
● Headquarter: Riga, Latvia
7
www.glcnetworks.com
What are mikrotik products?
● Router OS
○ The OS. Specialized for networking
○ Website: www.mikrotik.com/download
● RouterBoard
○ The hardware
○ RouterOS installed
○ Website: www.routerboard.com
8
www.glcnetworks.com
What Router OS can do?
● Go to www.mikrotik.com
○ Download: what_is_routeros.pdf
○ Download: product catalog
○ Download: newsletter
9
www.glcnetworks.com
What are Mikrotik training & certifications?
10
Certificate validity is 3 years
www.glcnetworks.com
API intro
11
www.glcnetworks.com
What is API?
● API: Application Programming Interface
● a set of subroutine definitions, protocols, and tools for building application
software.
● defined methods of communication between various software components
● API implementation are varied:
○ web-based system - using HTTP (popular)
○ operating system based - e.g. when developing daemon (apache, nginx)
○ Hardware based - e.g. when accessing microcontroller
○ etc..
12
www.glcnetworks.com
Why use API?
● For machine to machine communication (e.g. exchange rate, provisioning,
single sign on, etc)
● For automation (e.g. facebook login, twitter login, etc)
● To develop advanced services (uber, gojek, etc. they use google map API)
● For security. Limitation of access rights
● Many other reasons...
13
www.glcnetworks.com
Mikrotik API
14
www.glcnetworks.com
Mikrotik API
● Available since version 3
● Running on TCP port 8728 (http), or TCP
port 8729 (https)
● API service is disabled by default
● API is intended for machines, not human
15
Without API
With API
www.glcnetworks.com
Why use Mikrotik API?
● Security: define more fine-grained security, indirect access to the devices
● Provisioning: add/delete/update user
● Monitoring
● Customised access for user
● Develop a new service (fb login, single-sign-on, etc)
● Communicate with external application (e.g. billing system, monitoring,
self-service application)
● API is more rigid and consistent (suitable for machines). Unlike ssh (ssh is for
human interface)
● etc...
1616
Accessing
mikrotik API
www.glcnetworks.com
How to access mikrotik API?
● You need to understand programming language. E.g. PHP
● You need to provide a middle server that connects to mikrotik devices
● Make sure no firewall is blocking the mikrotik API
● API service need to be activated
● Make sure the user has api privileges
● Tips: only allow specific IP address that can access mikrotik API
17
www.glcnetworks.com
DEMO
18
www.glcnetworks.com
Using Mikrotik API
In this example we will use:
● PHP programming language
● Mikrotik PHP class by BenMenking
(https://github.com/BenMenking/routeros-api)
● A webserver that can access mikrotik devices
191919
Accessing
mikrotik API
www.glcnetworks.com
Example script (setup initial connection)
require('routeros_api.class.php'); //include api class
define('MIKROTIK_IP', '192.168.88.1'); //mikrotikIP address
define('MIKROTIK_USERNAME', 'admin'); //mikrotik username
define('MIKROTIK_PASSWORD', 'secret'); //mikrotik password
$API = new routeros_api(); //create a new instance
$API->debug = true; //activate debug
$API->connect(MIKROTIK_IP, MIKROTIK_USERNAME,
MIKROTIK_PASSWORD); // connect to mikrotik device
20
www.glcnetworks.com
add hotspot user using API (prepare user)
$user = array(1 => array('name' => 'user1', 'password' => 'pass1'),
2 => array('name' => 'user2', 'password' => 'pass2'),
3 => array('name' => 'user3', 'password' => 'pass3'),
4 => array('name' => 'user4', 'password' => 'pass4'),
5 => array('name' => 'user5', 'password' => 'pass5'),
);
foreach($user as $tmp) {
$username="=name=";
$username.=$tmp['name'];
$pass="=password=";
$pass.=$tmp['password'];
$server="=server=";
$server.=SERVER;$profile="=profile=";
$profile.=PROFILE;
21
www.glcnetworks.com
add hotspot user using API (add user)
$API->write('/ip/hotspot/user/add',false); //execute add command
$API->write($username, false); //insert username
$API->write($pass, false); // insert password
$API->write($server, false); //insert server
$API->write($profile); //insert profile name
$ARRAY = $API->read(); // this is for debug
echo "<pre>";
print_r($ARRAY);
echo "</pre>";
}
$API->disconnect(); //disconnect API
22
www.glcnetworks.com
Interested?
Just come to our
training...
Special price for webinar
attendees...
23
www.glcnetworks.com
End of slides
● Thank you for your attention
● Please submit your feedback: http://bit.ly/glcfeedback
● Like our facebook page: “GLC networks”
● Stay tune with our schedule
24

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

OpeVPN on Mikrotik
OpeVPN on MikrotikOpeVPN on Mikrotik
OpeVPN on Mikrotik
 
Layer 7 Firewall on Mikrotik
Layer 7 Firewall on MikrotikLayer 7 Firewall on Mikrotik
Layer 7 Firewall on Mikrotik
 
MUM Melbourne : Build Enterprise Wireless with CAPsMAN
MUM Melbourne : Build Enterprise Wireless with CAPsMANMUM Melbourne : Build Enterprise Wireless with CAPsMAN
MUM Melbourne : Build Enterprise Wireless with CAPsMAN
 
Mikrotik Bridge Deep Dive
Mikrotik Bridge Deep DiveMikrotik Bridge Deep Dive
Mikrotik Bridge Deep Dive
 
radius dhcp dot1.x (802.1x)
radius dhcp dot1.x (802.1x)radius dhcp dot1.x (802.1x)
radius dhcp dot1.x (802.1x)
 
Mikro tik advanced training
Mikro tik advanced trainingMikro tik advanced training
Mikro tik advanced training
 
Mikrotik firewall mangle
Mikrotik firewall mangleMikrotik firewall mangle
Mikrotik firewall mangle
 
VLAN on mikrotik
VLAN on mikrotikVLAN on mikrotik
VLAN on mikrotik
 
BGP on mikrotik
BGP on mikrotikBGP on mikrotik
BGP on mikrotik
 
Using Mikrotik Switch Features to Improve Your Network
Using Mikrotik Switch Features to Improve Your Network Using Mikrotik Switch Features to Improve Your Network
Using Mikrotik Switch Features to Improve Your Network
 
Mikrotik firewall raw table
Mikrotik firewall raw tableMikrotik firewall raw table
Mikrotik firewall raw table
 
PPPoE With Mikrotik and Radius
PPPoE With Mikrotik and RadiusPPPoE With Mikrotik and Radius
PPPoE With Mikrotik and Radius
 
Common Ports .pdf
Common Ports .pdfCommon Ports .pdf
Common Ports .pdf
 
Mikrotik pcq
Mikrotik   pcqMikrotik   pcq
Mikrotik pcq
 
OpenID Connect: An Overview
OpenID Connect: An OverviewOpenID Connect: An Overview
OpenID Connect: An Overview
 
Detecting network virus using mikrotik
Detecting network virus using mikrotikDetecting network virus using mikrotik
Detecting network virus using mikrotik
 
Routing fundamentals with mikrotik
Routing fundamentals with mikrotikRouting fundamentals with mikrotik
Routing fundamentals with mikrotik
 
MikroTik & RouterOS
MikroTik & RouterOSMikroTik & RouterOS
MikroTik & RouterOS
 
Using mikrotik with radius
Using mikrotik with radiusUsing mikrotik with radius
Using mikrotik with radius
 
Socket Programming with Python
Socket Programming with PythonSocket Programming with Python
Socket Programming with Python
 

Andere mochten auch

Setting mikrotik untuk game online campur browsing
Setting mikrotik untuk game online campur browsingSetting mikrotik untuk game online campur browsing
Setting mikrotik untuk game online campur browsing
imanariepin24
 
Konfigurasi mikrotik-dasar-hotspot-dan-warnet
Konfigurasi mikrotik-dasar-hotspot-dan-warnetKonfigurasi mikrotik-dasar-hotspot-dan-warnet
Konfigurasi mikrotik-dasar-hotspot-dan-warnet
R Arju Damar
 
7 superchannel mikrotik sutiyo
7 superchannel mikrotik sutiyo7 superchannel mikrotik sutiyo
7 superchannel mikrotik sutiyo
Ade Tamin
 

Andere mochten auch (18)

Sistem Keamanan dan Optimalisasi Bandwidth menggunakan MikroTik RB750
Sistem Keamanan dan Optimalisasi Bandwidth menggunakan MikroTik RB750 Sistem Keamanan dan Optimalisasi Bandwidth menggunakan MikroTik RB750
Sistem Keamanan dan Optimalisasi Bandwidth menggunakan MikroTik RB750
 
Jurnal manajemen bandwidth internet dengan router mikrotik di sma negeri sari...
Jurnal manajemen bandwidth internet dengan router mikrotik di sma negeri sari...Jurnal manajemen bandwidth internet dengan router mikrotik di sma negeri sari...
Jurnal manajemen bandwidth internet dengan router mikrotik di sma negeri sari...
 
Setting mikrotik warnet i
Setting mikrotik warnet iSetting mikrotik warnet i
Setting mikrotik warnet i
 
Mikrotik the dude
Mikrotik the dudeMikrotik the dude
Mikrotik the dude
 
SETING DAN KONFIGURASI ROUTERBOARD MIKROTIK RB 750 METODE TEX
SETING DAN KONFIGURASI ROUTERBOARD  MIKROTIK RB 750 METODE TEXSETING DAN KONFIGURASI ROUTERBOARD  MIKROTIK RB 750 METODE TEX
SETING DAN KONFIGURASI ROUTERBOARD MIKROTIK RB 750 METODE TEX
 
IPv6 on Mikrotik
IPv6 on MikrotikIPv6 on Mikrotik
IPv6 on Mikrotik
 
GLC webinar: limiting bandwidth using mikrotik
GLC webinar: limiting bandwidth using mikrotikGLC webinar: limiting bandwidth using mikrotik
GLC webinar: limiting bandwidth using mikrotik
 
Setting mikrotik untuk game online campur browsing
Setting mikrotik untuk game online campur browsingSetting mikrotik untuk game online campur browsing
Setting mikrotik untuk game online campur browsing
 
cara membuat hotspot dengan MikroTik di VirtualBox
cara membuat hotspot dengan MikroTik di VirtualBoxcara membuat hotspot dengan MikroTik di VirtualBox
cara membuat hotspot dengan MikroTik di VirtualBox
 
Limiting bandwidth of specific destination based on address list
Limiting bandwidth of specific destination based on address listLimiting bandwidth of specific destination based on address list
Limiting bandwidth of specific destination based on address list
 
Konfigurasi mikrotik (virtualbox)
Konfigurasi mikrotik (virtualbox) Konfigurasi mikrotik (virtualbox)
Konfigurasi mikrotik (virtualbox)
 
Mikrotik metarouter
Mikrotik metarouterMikrotik metarouter
Mikrotik metarouter
 
Langkah langkah membuat hotspot MikroTik di virtualbox
Langkah langkah membuat hotspot MikroTik di virtualboxLangkah langkah membuat hotspot MikroTik di virtualbox
Langkah langkah membuat hotspot MikroTik di virtualbox
 
WIRELESS SECURITY ON MIKROTIK TUGAS 1 KOMUNIKASI NIRKABEL
WIRELESS SECURITY ON MIKROTIK TUGAS  1  KOMUNIKASI NIRKABELWIRELESS SECURITY ON MIKROTIK TUGAS  1  KOMUNIKASI NIRKABEL
WIRELESS SECURITY ON MIKROTIK TUGAS 1 KOMUNIKASI NIRKABEL
 
Konfigurasi mikrotik-dasar-hotspot-dan-warnet
Konfigurasi mikrotik-dasar-hotspot-dan-warnetKonfigurasi mikrotik-dasar-hotspot-dan-warnet
Konfigurasi mikrotik-dasar-hotspot-dan-warnet
 
7 superchannel mikrotik sutiyo
7 superchannel mikrotik sutiyo7 superchannel mikrotik sutiyo
7 superchannel mikrotik sutiyo
 
Laporan PRAKERIN MIKROTIK
Laporan PRAKERIN MIKROTIKLaporan PRAKERIN MIKROTIK
Laporan PRAKERIN MIKROTIK
 
10.1. perjanjian sewa menyewa
10.1. perjanjian sewa menyewa10.1. perjanjian sewa menyewa
10.1. perjanjian sewa menyewa
 

Ähnlich wie Mikrotik API

Ähnlich wie Mikrotik API (20)

Building Web Server with Linux
Building Web Server with LinuxBuilding Web Server with Linux
Building Web Server with Linux
 
Using Control-Webpanel for Hosting Service - Part 1
Using Control-Webpanel for Hosting Service - Part 1Using Control-Webpanel for Hosting Service - Part 1
Using Control-Webpanel for Hosting Service - Part 1
 
Using protocol analyzer on mikrotik
Using protocol analyzer on mikrotikUsing protocol analyzer on mikrotik
Using protocol analyzer on mikrotik
 
Choosing Mikrotik Platform x86 vs chr
Choosing Mikrotik Platform x86 vs chrChoosing Mikrotik Platform x86 vs chr
Choosing Mikrotik Platform x86 vs chr
 
SSL certificate with mikrotik
SSL certificate with mikrotikSSL certificate with mikrotik
SSL certificate with mikrotik
 
Your Application Deserves Better than Kubernetes Ingress: Istio vs. Kubernetes
Your Application Deserves Better than Kubernetes Ingress: Istio vs. KubernetesYour Application Deserves Better than Kubernetes Ingress: Istio vs. Kubernetes
Your Application Deserves Better than Kubernetes Ingress: Istio vs. Kubernetes
 
[APIdays NY] Managing the usage of Asynchronous APIs: What does it take?
[APIdays NY] Managing the usage of Asynchronous APIs: What does it take?[APIdays NY] Managing the usage of Asynchronous APIs: What does it take?
[APIdays NY] Managing the usage of Asynchronous APIs: What does it take?
 
Using Kubernetes to Provide Services
Using Kubernetes to Provide ServicesUsing Kubernetes to Provide Services
Using Kubernetes to Provide Services
 
GIT as Mikrotik Configuration Management
GIT as Mikrotik Configuration ManagementGIT as Mikrotik Configuration Management
GIT as Mikrotik Configuration Management
 
Dynamic Website with Python
Dynamic Website with PythonDynamic Website with Python
Dynamic Website with Python
 
Using Docker Platform to Provide Services
Using Docker Platform to Provide ServicesUsing Docker Platform to Provide Services
Using Docker Platform to Provide Services
 
IPsec on Mikrotik
IPsec on MikrotikIPsec on Mikrotik
IPsec on Mikrotik
 
Building API with PHP
Building API with PHPBuilding API with PHP
Building API with PHP
 
Introduction to Jhipster
Introduction to JhipsterIntroduction to Jhipster
Introduction to Jhipster
 
Using an API Gateway for Microservices
Using an API Gateway for MicroservicesUsing an API Gateway for Microservices
Using an API Gateway for Microservices
 
EOIP Deep Dive
EOIP Deep DiveEOIP Deep Dive
EOIP Deep Dive
 
The Kubernetes Gateway API and its role in Cloud Native API Management
The Kubernetes Gateway API and its role in Cloud Native API ManagementThe Kubernetes Gateway API and its role in Cloud Native API Management
The Kubernetes Gateway API and its role in Cloud Native API Management
 
Manage Your Router with Dynamic Public IP
Manage Your Router with Dynamic Public IPManage Your Router with Dynamic Public IP
Manage Your Router with Dynamic Public IP
 
Single Sign On (SSO) Services with Free/Open Source Software
Single Sign On (SSO) Services with Free/Open Source SoftwareSingle Sign On (SSO) Services with Free/Open Source Software
Single Sign On (SSO) Services with Free/Open Source Software
 
WSO2 API Microgateway for Easier Development and Greater Scalability
WSO2 API Microgateway for Easier Development and Greater ScalabilityWSO2 API Microgateway for Easier Development and Greater Scalability
WSO2 API Microgateway for Easier Development and Greater Scalability
 

Mehr von Achmad Mardiansyah

Mehr von Achmad Mardiansyah (15)

01 introduction to mpls
01 introduction to mpls 01 introduction to mpls
01 introduction to mpls
 
Solaris 10 Container
Solaris 10 ContainerSolaris 10 Container
Solaris 10 Container
 
Backup & Restore (BR) in Solaris OS
Backup & Restore (BR) in Solaris OSBackup & Restore (BR) in Solaris OS
Backup & Restore (BR) in Solaris OS
 
Mikrotik User Meeting Manila: bgp vs ospf
Mikrotik User Meeting Manila: bgp vs ospfMikrotik User Meeting Manila: bgp vs ospf
Mikrotik User Meeting Manila: bgp vs ospf
 
PHPID online Learning #6 Migration from procedural to OOP
PHPID online Learning #6 Migration from procedural to OOPPHPID online Learning #6 Migration from procedural to OOP
PHPID online Learning #6 Migration from procedural to OOP
 
Troubleshooting load balancing
Troubleshooting load balancingTroubleshooting load balancing
Troubleshooting load balancing
 
ISP load balancing with mikrotik nth
ISP load balancing with mikrotik nthISP load balancing with mikrotik nth
ISP load balancing with mikrotik nth
 
Wireless CSMA with mikrotik
Wireless CSMA with mikrotikWireless CSMA with mikrotik
Wireless CSMA with mikrotik
 
BGP filter with mikrotik
BGP filter with mikrotikBGP filter with mikrotik
BGP filter with mikrotik
 
Mikrotik VRRP
Mikrotik VRRPMikrotik VRRP
Mikrotik VRRP
 
Mikrotik fasttrack
Mikrotik fasttrackMikrotik fasttrack
Mikrotik fasttrack
 
Mikrotik fastpath
Mikrotik fastpathMikrotik fastpath
Mikrotik fastpath
 
Jumpstart your router with mikrotik quickset
Jumpstart your router with mikrotik quicksetJumpstart your router with mikrotik quickset
Jumpstart your router with mikrotik quickset
 
Mikrotik firewall NAT
Mikrotik firewall NATMikrotik firewall NAT
Mikrotik firewall NAT
 
VPN on Mikrotik
VPN on MikrotikVPN on Mikrotik
VPN on Mikrotik
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Mikrotik API

  • 1. www.glcnetworks.com API (Application Programming Interface) GLC webinar, 29 December 2016 Achmad Mardiansyah achmad@glcnetworks.com GLC Networks, Indonesia
  • 2. www.glcnetworks.com Agenda ● Introduction ● API intro ● Mikrotik API ● Demo ● Q & A 2
  • 3. www.glcnetworks.com What is GLC? ● Garda Lintas Cakrawala (www.glcnetworks.com) ● An Indonesian company ● Located in Bandung ● Areas: Training, IT Consulting ● Mikrotik Certified Training Partner ● Mikrotik Certified Consultant ● Mikrotik distributor 3
  • 4. www.glcnetworks.com About GLC webinar? ● First webinar: january 1, 2010 (title: tahun baru bersama solaris - new year with solaris OS) ● As a sharing event with various topics: linux, networking, wireless, database, programming, etc ● Regular schedule: every 2 weeks ● Irregular schedule: as needed ● Checking schedule: http://www.glcnetworks.com/main/sc hedule ● You are invited to be a presenter ○ No need to be an expert ○ This is a forum for sharing: knowledge, experiences, information 4
  • 5. www.glcnetworks.com Trainer Introduction ● Name: Achmad Mardiansyah ● Base: bandung, Indonesia ● Linux user since 1999 ● Mikrotik user since 2007 ● Certified Trainer (MTCNA/RE/WE/UME/INE/TCE) ● Mikrotik Certified Consultant ● Work: Telco engineer, Sysadmin, PHP programmer, and Lecturer ● Personal website: http://achmadjournal.com ● More info: http://au.linkedin.com/in/achmadmardiansyah 5
  • 6. www.glcnetworks.com Please introduce yourself ● Your name ● Your company/university? ● Your networking experience? ● Your mikrotik experience? ● Your expectation from this course? 6
  • 7. www.glcnetworks.com What is Mikrotik? ● Name of a company ● A brand ● A program (e.g. mikrotik academy) ● Headquarter: Riga, Latvia 7
  • 8. www.glcnetworks.com What are mikrotik products? ● Router OS ○ The OS. Specialized for networking ○ Website: www.mikrotik.com/download ● RouterBoard ○ The hardware ○ RouterOS installed ○ Website: www.routerboard.com 8
  • 9. www.glcnetworks.com What Router OS can do? ● Go to www.mikrotik.com ○ Download: what_is_routeros.pdf ○ Download: product catalog ○ Download: newsletter 9
  • 10. www.glcnetworks.com What are Mikrotik training & certifications? 10 Certificate validity is 3 years
  • 12. www.glcnetworks.com What is API? ● API: Application Programming Interface ● a set of subroutine definitions, protocols, and tools for building application software. ● defined methods of communication between various software components ● API implementation are varied: ○ web-based system - using HTTP (popular) ○ operating system based - e.g. when developing daemon (apache, nginx) ○ Hardware based - e.g. when accessing microcontroller ○ etc.. 12
  • 13. www.glcnetworks.com Why use API? ● For machine to machine communication (e.g. exchange rate, provisioning, single sign on, etc) ● For automation (e.g. facebook login, twitter login, etc) ● To develop advanced services (uber, gojek, etc. they use google map API) ● For security. Limitation of access rights ● Many other reasons... 13
  • 15. www.glcnetworks.com Mikrotik API ● Available since version 3 ● Running on TCP port 8728 (http), or TCP port 8729 (https) ● API service is disabled by default ● API is intended for machines, not human 15 Without API With API
  • 16. www.glcnetworks.com Why use Mikrotik API? ● Security: define more fine-grained security, indirect access to the devices ● Provisioning: add/delete/update user ● Monitoring ● Customised access for user ● Develop a new service (fb login, single-sign-on, etc) ● Communicate with external application (e.g. billing system, monitoring, self-service application) ● API is more rigid and consistent (suitable for machines). Unlike ssh (ssh is for human interface) ● etc... 1616 Accessing mikrotik API
  • 17. www.glcnetworks.com How to access mikrotik API? ● You need to understand programming language. E.g. PHP ● You need to provide a middle server that connects to mikrotik devices ● Make sure no firewall is blocking the mikrotik API ● API service need to be activated ● Make sure the user has api privileges ● Tips: only allow specific IP address that can access mikrotik API 17
  • 19. www.glcnetworks.com Using Mikrotik API In this example we will use: ● PHP programming language ● Mikrotik PHP class by BenMenking (https://github.com/BenMenking/routeros-api) ● A webserver that can access mikrotik devices 191919 Accessing mikrotik API
  • 20. www.glcnetworks.com Example script (setup initial connection) require('routeros_api.class.php'); //include api class define('MIKROTIK_IP', '192.168.88.1'); //mikrotikIP address define('MIKROTIK_USERNAME', 'admin'); //mikrotik username define('MIKROTIK_PASSWORD', 'secret'); //mikrotik password $API = new routeros_api(); //create a new instance $API->debug = true; //activate debug $API->connect(MIKROTIK_IP, MIKROTIK_USERNAME, MIKROTIK_PASSWORD); // connect to mikrotik device 20
  • 21. www.glcnetworks.com add hotspot user using API (prepare user) $user = array(1 => array('name' => 'user1', 'password' => 'pass1'), 2 => array('name' => 'user2', 'password' => 'pass2'), 3 => array('name' => 'user3', 'password' => 'pass3'), 4 => array('name' => 'user4', 'password' => 'pass4'), 5 => array('name' => 'user5', 'password' => 'pass5'), ); foreach($user as $tmp) { $username="=name="; $username.=$tmp['name']; $pass="=password="; $pass.=$tmp['password']; $server="=server="; $server.=SERVER;$profile="=profile="; $profile.=PROFILE; 21
  • 22. www.glcnetworks.com add hotspot user using API (add user) $API->write('/ip/hotspot/user/add',false); //execute add command $API->write($username, false); //insert username $API->write($pass, false); // insert password $API->write($server, false); //insert server $API->write($profile); //insert profile name $ARRAY = $API->read(); // this is for debug echo "<pre>"; print_r($ARRAY); echo "</pre>"; } $API->disconnect(); //disconnect API 22
  • 23. www.glcnetworks.com Interested? Just come to our training... Special price for webinar attendees... 23
  • 24. www.glcnetworks.com End of slides ● Thank you for your attention ● Please submit your feedback: http://bit.ly/glcfeedback ● Like our facebook page: “GLC networks” ● Stay tune with our schedule 24