Klaus-D. Walter Embedded Internet in der Industrieautomation Einsatz von Internet- und Intranet-Technologien Hüthig Verlag Heidelberg
Inhalt 1 Einführung 1 1.1 Das Internet als Netzwerk- und Technologieplattform 2 1.1.1 Server 4 1.1.2 PCs und Notebooks 5 1.1.3 Handys 6 1.1.4 PDAs (Personal Digital Assistent) und Pocket PCs 8 1.1.5 Bedieneinheiten 10 1.1.6 Controller 10 1.1.7 Embedded-Systeme 11 1.1.8 Mikrochips 12 1.2 Die wichtigsten Technologien 14 1.2.1 Kommunikationsprotokolle und -komponenten 14 1.2.2 Servertypen 15 1.2.3 Auszeichnungssprachen und Bildformate 16 1.2.4 Programmiersprachen und-schnittsteilen 16 1.3OSI-ReferenzmodellderISO 17 1.3.1 Bitübertragungsschicht (Physical Layer - Schicht 1) 18 1.3.2 Sicherungsschicht (Data Link Layer - Schicht 2) 19 1.3.3 Vermittlungsschicht (Network Layer - Schicht 3) 19 1.3.4 Transportschicht (Transport Layer - Schicht 4) 19 1.3.5 Sitzungsschicht (Session Layer - Schicht 5) 19 1.3.6 Darstellungsschicht (Presentation Layer-Schicht 6) 20 1.3.7 Anwendungsschicht (Application Layer - Schicht 7) 20 2 Transportorientierte Protokolle und Technologien 21 2.1 IP-ProtokolL 21 2.1.1 IP-Datenpakete 22 2.1.2 IP-Adressierung 23 2.1.3 Netzwerkmaske und CIDR (Classless Inter-Domain Routing) 25 2.1.4 Private und öffentliche IP-Adressen 25 2.1.5 Eingabe von IP-Adressen 26 2.1.6 Öffentliche IP-Adressen und Domainnamen 28 2.1.7 IP-Adressvergabe per DHCP 29 2.1.8 IP-Adressumwandlungen per NAT 30 2.2 Zugriff per Socket-Interface auf das IP-Protokoll 31 2.2.1 IP-Raw-Sockets 31 2.3 IP über Ethernet-Verbindungen 34 2.3.1 Ethernet-MAC-Adressen 35
X Inhalt 2.3.2 Adressumwandlung mittels ARP 36 2.3.3 ARP-Tabellen 36 2.4 IP über asynchrone serielle Verbindungen 37 2.4.1 PPP für die Sicherungsschicht 38 2.5 IP über Bluetooth-Verbindungen 39 2.5.1 Die wichtigsten Protokolle und Profile 39 2.6 IP über WLAN-Verbindungen 40 2.6.1 802.11-PHY 41 2.7 IP über GPRS-Verbindungen 41 2.8 IP-Routing 42 2.8.1 IP-Routingtabellen 43 2.9 Datentransport per TCP und UDP 43 2.9.1 Portnummern 44 2.9.2 TCP-Datenpakete 44 2.9.3 UDP-Datenpakete 46 2.10 Zugriff per Socket-Interface auf TCP und UDP 46 2.10.1 Socket-Adressierung 47 2.10.2 Server/Client-Verhalten 47 2.10.3 UDP-Client und -Server in C 48 2.10.4 TCP-Client in C 49 2.10.5 TCP-Server in Java 51 2.11 Hardware-basierte TCP/IP-Implementierungen 52 2.12 Sniffer-Programme 54 3 Anwendungsorientierte Protokolle und Server 57 3.1 Hyper Text Transfer Protocol (HTTP) 58 3.1.1 HTTP-Server (Web-Server) 61 3.1.2 HTTP-Client 63 3.1.3 MIME-Typen 65 3.2 File Transfer Protocol (FTP) 66 3.2.1 FTP-Server 68 3.2.2 FTP-Client 68 3.3 Telnet-Protokoll 70 3.3.1 Telnet-Server 71 3.3.2 Telnet-Client 72 3.4 Domain Name Service (DNS) 73 3.4. fdns-server 73 3.4.2 Statisches DNS und dynamisches DNS 74 3.5 Modbus/TCP-Server (TCP-Port 502) 75 3.6 Proxy-Server 79 3.6.1 HTTP-Proxy 80 3.7 TCP/IP-Server in Bluetooth- und WLAN-Funkverbindungen 84 3.7.1 Serverzugriffe über Access Points 84 3.7.2 Serverzugriffe über Web Enabler 86 4. Integrationsszenarien und -beispiele 89 4.1 Web-basierte Zugriffe 89 4.1.1 Dynamische Prozessabbildungen 90
Inhalt XI 4.2 Web Enabler 91 4.2.1 Anwendungsbeispiele für Web Enabler 94 4.3 Modbus/TCP-Proxy-Server 95 4.4 Kompakte Bedieneinheit mit lokalem Web-Server 101 4.4.1 Erweiterung durch GSM-und GPRS-Modems 103 4.4.2 Handy-Fernzugriff per WAP 104 4.5 Bedieneinheit mit integriertem WLAN Access Point 105 4.5.1 PDA-Fernzugriff per Bluetooth oder WLAN 106 4.5.2 Automatischer E-Mail-Versand 106 4.6 Virtuelle COM-Ports per TCP/IP 109 4.6.1 Win32-Kommunikations-AP 110 4.6.2 Mikrochip mit TCP/IP als Protokollkonverter 111 4.6.3 Intelligenter RJ45-Steckverbinder als Protokollkonverter 112 5 HTML, XHTML, WML und XML 113 5.1 Aufbau von HTML-Seiten 113 5.1.1 Tags für die HTML-Seitenstruktur 115 5.1.2 Tags zur HTML-Textdarstellung und -formatierung 115 5.1.3 Tags zum Einfügen von Objekten 116 5.1.4 HTML-Tags für Listen 116 5.1.5 Tags für Tabellen 116 5.1.6 Tag für HTML-Hyperlinks 118 5.1.7 Tags für Formulare 119 5.1.8 Bildobjekte 119 5.1.9 Clientseitige Skriptsprachen 121 5.2 XHTML 121 5.2.1 DTD (Document Type Definition) 122 5.2.2 Werkzeuge für XHTML-Entwicklung 123 5.3 WML 123 5.3.1 Übersicht der WAP-Protokolle 125 5.3.2 Wichtige WML-Eigenschaften 126 5.3.3 Karten und Stapel 127 5.3.4 Texte und Tags 127 5.3.5 WMLScript (Clientseitige Skripte für WML) 133 5.3.6 Werkzeuge für WML-Entwicklung 134 5.4 XML 135 5.4.1 XML als Struktursprache 136 5.4.2 Prüfen von XML-Dokumenten 139 5.4.3 XML-Datenvisualisierung mit CSS (Cascading Style Sheet) 139 5.4.4 XML-Datenvisualisierung mit XSL (extensible Style Language) 142 5.4.5 XSLT-Prozessoren 144 5.4.6 Unterschiedliche Anzeigeformate und XML 145 5.4.7 XML-basierte Konfigurationsdaten 148 5.4.8 Werkzeuge für die XML-Entwicklung 149 6 Web-Server-Programmierung 151 6.1 CGI 152 6.1.1 Parameterübergabe 159 6.1.2 Umgebungsvariable 159
XII Inhalt 6.2 Java 161 6.2.1 Applets : 161 6.2.2 Servlets 164 6.2.3 Java Server Pages (JSP) 165 6.3 ASP und PHP 167 6.4 In-Line-Variable für Embedded-Web-Server 168 6.4.1 Platzhalter in HTML-Dokumenten 169 6.5 Integrierbare Web-Server 169 6.5.1 Ein C-Beispiel 169 6.5.2 Ein Java-Beispiel 172 6.6 Web-Services 176 6.6.1 XML-RPC 177 6.6.2 SOAP 179 6.6.3 UDDI und WSDL 181 6.6.4 OPC XML 183 6.6.5 XML-Parser 183 6.6.6 Web-Services in der Automatisierung 187 7 Sicherheit in TCP/IP-Netzwerken 189 7.1 Automatische Suche nach TCP-Serverprogrammen (Portscanner) 190 7.1.1 TCP-3-Wege-Handshake 191 7.1.2 Eigene Testprogramme für TCP/IP-Stacks 193 7.2 Angriffsszenarien 195 7.2.1 Brute-Force-Verfahren 195 7.2.2 Abhören und Aufzeichnen der Kommunikation (Sniffer) 195 7.2.3 DoS-Angriffe 196 7.2.4 Spoofing 197 7.2.5 ARP Poisoning 197 7.2.6 MITM (Man-in-the-Middle) 199 7.2.7 Viren und Trojanische Pferde 199 7.3 Sicherheitsfunktionen 200 7.3.1 Paketfilterung in der Vermittlungsschicht (Network Layer - Schicht 3) 201 7.3.2 Paketfilterung in der Sicherungsschicht (Data Link Layer - Schicht 2) 202 7.3.3 Honeypot-Systeme 203 7.3.5 Intrusion-Detection-Systeme 205 7.3.6 VPNs 205 7.4 WLAN-Sicherheit 206 7.4.1 WarDriving 207 7.4.2 WEP-Problem 208 7.4.3 WLAN-Switching 210 Wichtige Begriffe und Abkürzungen (Glossar) 211 Literaturhinweise und -quellen 221 Sachwörterverzeichnis 227