Protokół ARP. dr Zbigniew Lipiński. Instytut Matematyki i Informatyki ul. Oleska Opole zlipinski@math.uni.opole.pl
|
|
- Seweryna Wierzbicka
- 8 lat temu
- Przeglądów:
Transkrypt
1 Protokół ARP Aplikacja printarp dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska Opole zlipinski@math.uni.opole.pl
2 Address Resolution Protocol ARP, (ang.) Address Resolution Protocol. RFC 826. Protokół ARP jest protokołem warstwy Sieci modelu referencyjnego OSI. Protokół ARP należy do rodziny protokołów TCP/IP. Protokół ARP służy do znajdowania adresów fizycznych kart sieciowych (adresów MAC) na podstawie adresów IP. Protokół ARP służy do: wysyłania zapytań do sieci o adres MAC, uaktualniania tablic arp. 2
3 Struktura nagłówka komunikatu ARP Typ adresu nadawcy Typ adresu odbiorcy Dl. adresu MAC Ostanie 16 bitow adresu MAC nadawcy 16 Bity Dl. adresu protokolu Ostatnie16 bitow adresu protokolu nadawcy 20 Pierwsze 32 bity adresu MAC nadawcy Ostatnie 32 bity adresu MAC odbiorcy 6 Ostatnie32 bity adresu protokolu odbiorcy Struktura komunikatu ARP 24 Operacja Pierwsze 16 bitow adresu protokolu nadawcy Pierwsze 16 bitow adresu MAC odbiorcy 3
4 Struktura nagłówka komunikatu ARP Pole: Pole: Pole: Pole: Pole: Pole: Pole: Pole: Pole: Typ adresu fizycznego, (Hardware Type). Wielkość: 16 bitów. Pole określa typ adresu MAC (typ karty sieciowej). Typy adresów. Wartość: 1 (Ethernet), 2 (Experimental Ethernet), 3 (X.25), 4 (Proteon ProNET - Token Ring), 5 (Chaos), 6 (IEEE 802.X), 7 (ARCnet). Typ adresu protokołu, (Protocol Type). Wielkość: 16 bitów. Pole określa typ protokołu jakiego użył host wysyłający zapytanie. Dla rodziny TCP/IP użyty protokół jest typu 'Ethernet'. Dł. adresu MAC, (Hardware Address Length). Wielkość: 8 bitów. Długość (wyrażona w bajtach) adresu fizycznego w datagramie. Dla adresu MAC wartość = 6 bajtów. Dł. adresu protokołu, (Protocol Address Length). Wielkość: 8 bitów. Długość (wyrażona w bajtach) adresu protokołu. Dla adresu IP wartość pola = 4 bajty. Operacja, (Operation Code, Opcode). Wielkość: 16 bitów. Wartość kodu 1 dla wiadomości typu 'ARP reply' (odpowiedz), Wartość kodu 2 dla wiadomości typu 'ARP request' (zapytanie). Adres MAC nadawcy, (Sender Hardware Address). Wielkość: wartość z pola 'Hardware Address Length'. Adres MAC hosta wysyłającego ARP request. Adres nadawcy, (Sender Protocol Address). Wielkość: wartość z pola 'Protocol Address Length'. Adres IP hosta wysyłającego ARP request. Adres MAC odbiorcy, (Target Hardware Address). Wielkość: wartość z pola 'Hardware Address Length'. Adres MAC hosta odbierającego wiadomość. Adres odbiorcy, (Target Protocol Address). Wielkość: wartość z pola 'Protocol Address Length'. Adres IP hosta odbierającego wiadomość. 4
5 Przykład: Adres fizyczny 00-B0-D0-2C-FC-B6 Struktura adresu MAC karty sieciowej Pole I/G. Wartości: 0/1. 1 bit. Znaczenie: adres Indywidualny/Grupowy. Pole U/L. Wartości: 0/1. 1 bit. Znaczenie: adres Uniwersalny/Lokalny. Adres Univerwersaly: Karty sieciowe uniwersalne są zgodne ze standardem IEEE. Adres Lokalny: Karty z takim adresem mogą nie być zgodne ze standardem IEEE. Pole OUI (Organization Unique Identifier). 22 bity. Część adresu MAC określająca producenta karty sieciowej. Pole 24 bity. Znaczenie: numer karty sieciowej. Numer karty sieciowej przydzielany przez producenta karty. Przykłady kodów producentów kart: 00000C Cisco 0000D8 3Com, Novell PS/2 0080C2 IEEE Committee 00AA00 Intel 02608C 3Com IBM PC; Imagen; Valid; Cisco Sun machines Przykład: Karta o adresie 08:00:20:00:70:DF została wyprodukowana przez Sun Microsystems. 5
6 Specyfikacja projektu Nazwa projektu: IpArp Typ projektu : Win32 console application Lista plików : IpArp.cpp Kompilacja : Microsoft Visual C Wkopiować pliki svcrt.lib iphlpapi.lib WS2_32.Lib do katalog projektu. W Project-> Setings-> Link-> Object/Library Modules-> Dodać: WS2_32.Lib iphlpapi.lib Funkcjonalność: \> printarp // kieruje na ekran zawartość tablicy arp. Przykład: \>printarp \> Interfejs: x2 Adres internetowy Adres fizyczny Typ a5-cd-37-c4 dynamiczne 6
7 Struktura progamu Pliki nagłówkowe: windows.h, iphlpapi.h, iptypes.h, iostream. Funkcje programu: WSAStartup(), WSACleanup(), inet_ntoa(), GetIpNetTable(), GetIpAddrTable() PrintIpNetTable(), MyGetIpNetTable(), MyGetIpAddrTable(), PhysAddrToString(), StringToPhysAddr(), InterfaceIdxToInterfaceIp(), Struktury programu: WSADATA, MIB_IPNETTABLE, MIB_IPADDRTABLE, in_addr, MIB_IPNETROW Zmienne programu: WORD wversionrequested = MAKEWORD(1,1); WSADATA wsadata; int nret; DWORD dwstatus; PMIB_IPNETTABLE piparptab = NULL; 7
8 Specyfikacja Struktury WSADATA Nazwa struktury : WSADATA Opis : Struktura WSADATA zawiera informacje o implementacji gniazd (Windows Sockets). Struktura WSADATA jest zadeklarowana w pliku Winsock2.h. Aplikacja nie powinna używać atrybutów imaxsockets, imaxudpdg, i lpvendorinfo struktury WSAData gdy wartość atrybutu wversion, po wywołaniu WSAStartup jest co najmniej 2. Wyjaśnienie: This is because the architecture of Windows Sockets has been changed in version 2 to support multiple providers, and WSAData no longer applies to a single vendor's stack. Two new socket options are introduced to supply provider- specific information: SO_MAX_MSG_SIZE (replaces the imaxudpdg element) and PVD_CONFIG (allows any other provider-specific configuration to occur). Atrybuty : wversion - Wersja gniazd WinSock którą ma używać biblioteka Ws2_32.dll. whighversion - Najwyższa wersja WinSock jaką może używać biblioteka.dll. Standardowo, wartość taka sama, jak wversion. szdescription - Zerem zakończony string znaków ASCI (null-terminated ASCII string) do którego Ws2_32.dll kopiuje opis implementacji gniazd. Tekst (do 256 znaków) może być używany do opisów wiadomości. szsystemstatus - Zakończony zerem string znaków ASCI do którego WSs2_32.dll kopiuje informacje o statusie lub konfiguracji. Ws2_32.dll powinna używać tego atrybutu do tylko gdy informacje mogą być ważne dla użytkowników, atrybut nie powinien być traktowany jako rozszerzenie zmiennej szdescription. imaxsockets - Pozostawiony dla zgodności poprzednimi wersjami gniazd. Parametr powinien być ignorowany przez Windows Socketsv.2 i wersje późniejsze (nie ma już jednej wartości dla wszystkich dostarczycieli usług). imaxudpdg - Atrybut ignorowany przez gniazda wersji 2 i następne. imaxudpdg pozostawiony dla zgodności z wersją gniazd Windows Sockets 1.1. Nie powinien być używany przy budowaniu nowych aplikacji. Dla określenia wielkości wiadomości dostarczyciela usług dla gniazda i typu gniazda aplikacje powinny używać getsockopt aby uzyskać wartość opcji SO_MAX_MSG_SIZE. lpvendorinfo - Atrybut ignorowany przez Windows Sockets v.2 i następne. lpvendorinfo pozostawiono dla zgodności z wersją gniazd Windows Sockets 1.1. Dla określenia konfiguracji dostarczyciela usług dla gniazda powinny używać getsockopt aby uzyskać wartość opcji PVD_CONFIG. 8
9 Specyfikacja struktury MIB_IPNETTABLE Nazwa struktury : MIB_IPNETTABLE Opis : Struktura MIB_IPNETTABLE zawiera tablicę z danymi ARP. Atrybuty : dwnumentries Liczba rekordów w tabeli ARP. table - Wskaźnik do tablicy ARP implementowanej jako tablica struktur MIB_IPNETROW. Implementacja struktury MIB_IPNETTABLE: typedef struct _MIB_IPNETTABLE DWORD dwnumentries; MIB_IPNETROW table[any_size]; MIB_IPNETTABLE, *PMIB_IPNETTABLE; 9
10 Specyfikacja struktury MIB_IPNETROW Nazwa struktury: MIB_IPNETROW Opis : Struktura MIB_IPNETROW zawiera dane do rekordów tablicy ARP. Atrybuty : dwindex - Indeks karty sieciowej. dwphysaddrlen - Długość adresu fizycznego karty sieciowej. bphysaddr - Określa adres fizyczny karty sieciowej. dwaddr - Określa adres IP karty sieciowej. dwtype - Określa typ rekordu ARP. Możliwe typy rekordów ARP: 4 Static, 3 Dynamic, 2 Invalid, 1 inne. Implementacja struktury MIB_IPNETROW: typedef struct _MIB_IPNETROW DWORD dwindex; DWORD dwphysaddrlen; BYTE bphysaddr[maxlen_physaddr]; DWORD dwaddr; DWORD dwtype; MIB_IPNETROW, *PMIB_IPNETROW; 10
11 Specyfikacja struktury MIB_IPADDRTABLE Nazwa struktury: MIB_IPADDRTABLE Opis : Struktura MIB_IPADDRTABLE zawiera tablicę adresów IP. Atrybuty : dwnumentries Określa numer adresu IP w tablicy. table Wskaźnik do rekordu w tablicy implementowanej jako tablica struktur MIB_IPADDRROW. Implementacja struktury PMIB_IPADDRTABLE: typedef struct _MIB_IPADDRTABLE DWORD dwnumentries; MIB_IPADDRROW table[any_size]; MIB_IPADDRTABLE, *PMIB_IPADDRTABLE; typedef struct _MIB_IPADDRROW DWORD dwaddr; //The IPv4 address in network byte order. DWORD dwindex; // Index of nterface associated with this IPv4 address. DWORD dwmask; // Subnet mask for the IPv4 address in network byte order. DWORD dwbcastaddr; // The broadcast address in network byte order. DWORD dwreasmsize; // Maximum re-assembly size for received datagrams. unsigned short unused1; unsigned short wtype; // The address type or state. MIB_IPADDRROW, *PMIB_IPADDRROW; 11
12 Specyfikacja struktury in_addr Nazwa struktury : in_addr Opis: Struktura in_addr adres IP hosta. Struktura zdefiniowana w WINSOCK.H Atrybuty : S_un_b - adres hosta w formacie u_chars. S_un_w - adres hosta w formacie dwóch u_shorts. S_addr - adres hosta w formacie u_long. Implementacja struktury in_addr: struct ; in_addr union struct unsigned char s_b1, s_b2, s_b3, s_b4; S_un_b; struct unsigned short s_w1, s_w2; S_un_w; unsigned long S_addr; S_un; 12
13 Specyfikacja funkcji WSAStartup() Nazwa funkcji : WSAStartup() Zwracana wartość: int WSAStartup() zwraca zero gdy wywołanie funkcji zakończyło się sukcesem. W innym przypadku zwraca następujące kody błędów: WSASYSNOTREADY Wskazuje, że sieć lub podsieć nie jest przygotowana do transmisji danych. WSAVERNOTSUPPORTED Żądana wersja WinSock nie jest obsługiwana przez implementację WinSock. WSAEINPROGRESS Trwa operacja blokowania WinSock 1.1 WSAEPROCLIM - WSAEFAULT - Osiągnięto granicę liczby zadań dopuszczalną przez WinSock. Błędna wartość wskaźnika lpwsadata (not a valid pointer). Argumenty: WORD wversionrequested - LPWSADATA lpwsadata - [in] Najwyższa obsługiwana wersja WinSock, którą nadawca (caler) może użyć. Bajt najwyższy określa minimalną wersję, najniższy bajt określa maksymalna wersję. [out] Wskaźnik do struktury WSADATA. Opis: Funkcja WSAStartup() inicjuje użycie przez proces biblioteki WS2_32.DLL. Funkcja WSAStartup() musi być pierwszą funkcja Windows Sockets wywołana przez aplikacje. 13
14 Specyfikacja funkcji WSACleanup() Nazwa funkcji: WSACleanup() Zwracana wartość: int WSACleanup() zwraca zero gdy wywołanie funkcji zakończyło się sukcesem. W innym przypadku zwraca SOCKET_ERROR, i określony kod błędu może być uzyskany poprzez wywołanie finkcji WSAGetLastError(): WSANOTINITIALISED - Przed wywołaniem tej funkcji WSACleanup() musi być wywołana z sukcesem funkcja WSAStartup(). WSAENETDOWN - Awaria sieci (network subsystem has failed). WSAEINPROGRESS - Trwa operacja blokowania WinSock 1.1 lub dostarczyciel usługi (service provider) obsługuje komunikat zwrotny (a callback function). Argumenty: brak Opis: Funkcja WSACleanup() kończy użycie biblioteki WS2_32.DLL. 14
15 Specyfikacja funkcji inet_ntoa() Nazwa funkcji: inet_ntoa() Zwracana wartość: char* FAR Jeżeli nie ma błędów inet_ntoa() zwraca wskaźnik char* do statycznego bufora zawierającego adres w standardzie kropkowanym. W pozostałych przypadkach funkcja zwraca NULL. Argumenty : struct in_addr in in - [in] Wskaźnik do struktury in_addr reprezentującej adres IP hosta. Opis : Funkcja inet_ntoa() konwertuje adres IPv4 na adres w formacie kropkowanym (dotted format). 15
16 Specyfikacja funkcji inet_addr() Nazwa funkcji : inet_addr() Zwracana wartość: unsigned long Argumenty : const char* cp cp - [in] Zerem zakończony string znaków reprezentujący adres IP zapisany w notacji kropkowanej (np ). Opis : Funkcja inet_addr() konwertuje string zawierający adres IPv4 w wersji kropkowanej na odpowiedni adres w strukturze IN_ADDR. 16
17 Specyfikacja funkcji GetIpNetTable() Nazwa funkcji : GetIpNetTable() Zwracana wartość: DWORD Argumenty : pipnettable - [out] Wskaźnik do bufora który przechowuje adres tablicę danych adres IP- adres MAC w strukturze MIB_IPNETTABLE. pdwsize - [in, out] Na wejściu wskaźnik do zmiennej przechowującej wielkość bufora (zmiennej wskazywanej przez pipnettable). Na wyjściu, jeżeli bufor jest za mały na zwracaną tablicę danych, funkcja ustawia wartość tego parametru na wielkość wymaganą. border - [in] Argument określa czy zwracana tablica ma być uporządkowana według rosnących adresów IP (tablica jest uporządkowana gdy parametr ma wartość TRUE. Opis : Funkcja pobiera dane zawierające przyporządkowanie adres IP adres MAC (tablica ARP). Deklaracja funkcji w pliku iphlpapi.h. 17
18 Specyfikacja funkcji GetIpAddrTable() Nazwa funkcji : GetIpAddrTable() Zwracana wartość: DWORD Argumenty : pipaddrtable - [out] Wskaźnik do bufora który przechowuje adres tablicę danych karta - adres IP w strukturze MIB_IPADDRTABLE. pdwsize - [in, out] Na wejściu wskaźnik do zmiennej przechowującej wielkość bufora (zmiennej wskazywanej przez pipaddrtable). Na wyjściu, jeżeli bufor jest za mały na zwracaną tablicę danych, funkcja ustawia wartość tego parametru na wielkość wymaganą. border - [in] Argument określa czy zwracana tablica ma być uporządkowana według rosnących adresów IP (tablica jest uporządkowana gdy parametr ma wartość TRUE. Opis : Funkcja GetIpAddrTable() pobiera dane o przyporządkowaniu karty sieciowej do adresu IP. 18
19 Implementacja funkcji InterfaceIdxToInterfaceIp() bool InterfaceIdxToInterfaceIp(PMIB_IPADDRTABLE pipaddrtable, DWORD dwindex, char str[]) struct in_addr inadtmp; char *szipaddr; if (pipaddrtable == NULL str == NULL) return FALSE; str[0] = '\0'; for (DWORD dwidx = 0; dwidx < pipaddrtable->dwnumentries; dwidx++) if (dwindex == pipaddrtable->table[dwidx].dwindex) inadtmp.s_addr = pipaddrtable->table[dwidx].dwaddr; szipaddr = inet_ntoa(inadtmp); if (szipaddr) strcpy(str, szipaddr); return TRUE; else return FALSE; return FALSE; 19
20 Implementacja funkcji StringToPhysAddr() int StringToPhysAddr(char* szinether, char* szoutether) const char DASH = '-'; register char c; register int val; if (strlen(szinether)!= 17) return (-1); if (szinether[2]!= DASH szinether[5]!= DASH szinether[8]!= DASH szinether[8]!= DASH szinether[14]!= DASH) return (-1); if (!isxdigit(szinether[0])!isxdigit(szinether[1])!isxdigit(szinether[3])!isxdigit(szinether[4])!isxdigit(szinether[6])!isxdigit(szinether[7])!isxdigit(szinether[9])!isxdigit(szinether[10])!isxdigit(szinether[12])!isxdigit(szinether[13])!isxdigit(szinether[15])!isxdigit(szinether[16])) return (-1); for (int i = 0; i < 6; i++) val = 0; c = toupper(szinether[i*3]); c = c - (isdigit(c)? '0' : ('A' - 10)); val += c; val = (val << 4); c = toupper(szinether[i*3 + 1]); c = c - (isdigit(c)? '0' : ('A' - 10)); val += c; szoutether[i] = val; return 0; 20
21 Implementacja funkcji PhysAddrToString() bool PhysAddrToString(BYTE PhysAddr[], DWORD PhysAddrLen, char str[]) if (PhysAddr == NULL PhysAddrLen == 0 str == NULL) return FALSE; str[0] = '\0'; for (DWORD dwidx = 0; dwidx < PhysAddrLen; dwidx++) if (dwidx == PhysAddrLen-1) sprintf(str+(dwidx*3), "%02X", ((int)physaddr[dwidx])&0xff); else sprintf(str+(dwidx*3), "%02X-", ((int)physaddr[dwidx])&0xff); return TRUE; 21
22 Implementacja funkcji PrintIpNetTable() void PrintIpNetTable(PMIB_IPNETTABLE pipnettable) DWORD i, dwstatus, dwcurrindex; struct in_addr inadtmp; char szprintablephysaddr[256]; char sztype[128]; char szipaddr[128]; PMIB_IPADDRTABLE pipaddrtable = NULL; if (pipnettable == NULL) printf( "pipnettable == NULL in line %d\n", LINE ); return; if ( (dwstatus = MyGetIpAddrTable(pIpAddrTable))!= NO_ERROR) printf("getipaddrtable returned 0x%x\n", dwstatus); if (pipaddrtable) delete [] pipaddrtable; return; dwcurrindex = pipnettable->table[0].dwindex; if (InterfaceIdxToInterfaceIp(pIpAddrTable, dwcurrindex, szipaddr)) printf("\ninterface: %s on Interface 0x%X\n", szipaddr, dwcurrindex); printf(" Internet Address Physical Address Type\n"); else printf("error: Could not convert Interface number 0x%X to IP address.\n", pipnettable->table[0].dwindex); return; 22
23 Implementacja funkcji PrintIpNetTable() for (i = 0; i < pipnettable->dwnumentries; ++i) if (pipnettable->table[i].dwindex!= dwcurrindex) dwcurrindex = pipnettable->table[i].dwindex; if (InterfaceIdxToInterfaceIp(pIpAddrTable, dwcurrindex, szipaddr)) printf("interface: %s on Interface 0x%X\n", szipaddr, dwcurrindex); printf(" Internet Address Physical Address Type\n"); else printf("error: Could not convert Interface number 0x%X to IP address.\n", pipnettable->table[0].dwindex); return; PhysAddrToString(pIpNetTable->table[i].bPhysAddr, pipnettable->table[i].dwphysaddrlen, szprintablephysaddr); inadtmp.s_addr = pipnettable->table[i].dwaddr; switch (pipnettable->table[i].dwtype) case 1: strcpy(sztype,"other"); break; case 2: strcpy(sztype,"invalidated"); break; case 3: strcpy(sztype,"dynamic"); break; case 4: strcpy(sztype,"static"); break; default: strcpy(sztype,"invalidtype"); printf(" %-16s %-17s %-11s\n", inet_ntoa(inadtmp), szprintablephysaddr, sztype); if (pipaddrtable) delete [] pipaddrtable; 23
24 Implementacja funkcji MyGetIpNetTable() DWORD MyGetIpNetTable(PMIB_IPNETTABLE& pipnettable, bool forder) DWORD status = NO_ERROR; DWORD statusretry = NO_ERROR; DWORD dwactualsize = 0; dwactualsize = 0; status = GetIpNetTable(pIpNetTable, &dwactualsize, forder); if (status == NO_ERROR) return status; else if (status == ERROR_INSUFFICIENT_BUFFER) pipnettable = new MIB_IPNETTABLE [dwactualsize]; statusretry = GetIpNetTable(pIpNetTable, &dwactualsize, forder); 24
25 Implementacja funkcji MyGetIpNetTable() if (statusretry!= NO_ERROR) #ifdef _DEBUG printf("retry failed.\n"); #endif return statusretry; else return statusretry; else #ifdef _DEBUG printf("first getipnettable call failed\n"); #endif return status; 25
26 Implementacja funkcji MyGetIpAddrTable() DWORD MyGetIpAddrTable(PMIB_IPADDRTABLE& pipaddrtable, bool forder) DWORD status = NO_ERROR; DWORD statusretry = NO_ERROR; DWORD dwactualsize = 0; // query for buffer size needed status = GetIpAddrTable(pIpAddrTable, &dwactualsize, forder); if (status == NO_ERROR) printf("no error\n"); return status; else if (status == ERROR_INSUFFICIENT_BUFFER) pipaddrtable = new MIB_IPADDRTABLE [dwactualsize]; statusretry = GetIpAddrTable(pIpAddrTable, &dwactualsize, forder); return statusretry; else return status; 26
27 Struktura programu 1. Sprawdzenie wersji winsock. nret = WSAStartup(wVersionRequested, &wsadata); Czy wsadata.wversion!= wversionrequested? 2. Pobranie danych z tablic arp dwstatus = MyGetIpNetTable(pIpArpTab, TRUE)) == NO_ERROR 3. Przekazanie na ekran dnaych o tablicy arp. PrintIpNetTable(pIpArpTab); 4. Zakończenie użycia biblioteki winsock WS2_32.DLL. WSACleanup(); 27
28 Struktura funkcji main() int main(int argc, char **argv) WORD wversionrequested = MAKEWORD(1,1); WSADATA wsadata; int nret; nret = WSAStartup(wVersionRequested, &wsadata); if (wsadata.wversion!= wversionrequested) cerr << "WinSock version: " << LOBYTE(wVersionRequested) <<"." << HIBYTE(wVersionRequested) << " not supported" << endl; WSACleanup(); return 1; DWORD dwstatus; PMIB_IPNETTABLE piparptab = NULL; if ((dwstatus = MyGetIpNetTable(pIpArpTab, TRUE)) == NO_ERROR) PrintIpNetTable(pIpArpTab); delete [] piparptab; return 1; else if ( dwstatus == ERROR_NO_DATA) cerr<< "No entries in arpcache." <<endl; return 1; else if (piparptab) delete [] piparptab; cout <<"IpArp returned: " << dwstatus << endl; return 1; WSACleanup(); return 0; 28
Rodzina protokołów TCP/IP. Aplikacja: ipconfig.
Rodzina protokołów TCP/IP. Aplikacja: ipconfig. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Specyfikacja struktury FIXED_INFO Nazwa struktury:
Bardziej szczegółowoStatystyka protokołów i połączeń sieciowych.
Statystyka protokołów i połączeń sieciowych. Aplikacja netstat. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Statystyka połączeń sieciowych.
Bardziej szczegółowoSieci Komputerowe. Protokół ARP Address Resolution Protocol. Protokół RARP Reverse Address Resolution Protocol
Sieci Komputerowe Protokół ARP Address Resolution Protocol Protokół RARP Reverse Address Resolution Protocol dr Zbigniew Lipiński zlipinski@math.uni.opole.pl Zagadnienia Opis protokołu ARP Zastosowanie
Bardziej szczegółowoAplikacja Sieciowa. Najpierw tworzymy nowy projekt, tym razem pracować będziemy w konsoli, a zatem: File->New- >Project
Aplikacja Sieciowa Jedną z fundamentalnych właściwości wielu aplikacji jest możliwość operowania pomiędzy jednostkami (np. PC), które włączone są do sieci. W Windows operacja ta jest możliwa przy wykorzystaniu
Bardziej szczegółowoWykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe
Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)
Bardziej szczegółowo3. Identyfikacja. SKŁADNIA #include <sys/socket.h> int getpeername(int socket, struct sockaddr *addr, int *addrlen);
3.1. Określanie adresu połączonego hosta 3. #include int getpeername(int socket, struct sockaddr *addr, int *addrlen); Funkcja getpeername dostarcza adresu drugiej strony połączenia. Parametry:
Bardziej szczegółowoARP Address Resolution Protocol (RFC 826)
1 ARP Address Resolution Protocol (RFC 826) aby wysyłać dane tak po sieci lokalnej, jak i pomiędzy różnymi sieciami lokalnymi konieczny jest komplet czterech adresów: adres IP nadawcy i odbiorcy oraz adres
Bardziej szczegółowoProtokół DNS. Aplikacja dnsquery
Protokół DNS Domain Name System Aplikacja dnsquery dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Protokół DNS DNS, (ang.) Domain Name System.
Bardziej szczegółowoDR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ
DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ INTERNET PROTOCOL (IP) INTERNET CONTROL MESSAGE PROTOCOL (ICMP) WSTĘP DO SIECI INTERNET Kraków, dn. 7 listopada 2016 r. PLAN IPv4: schemat nagłówka ICMP: informacje
Bardziej szczegółowoPobieranie argumentów wiersza polecenia
Pobieranie argumentów wiersza polecenia 2. Argumenty wiersza polecenia Lista argumentów Lista argumentów zawiera cały wiersz poleceń, łącznie z nazwą programu i wszystkimi dostarczonymi argumentami. Przykłady:
Bardziej szczegółowoZdalne wywołania procedur. Jarosław Kuchta Programowanie Współbieżne
Zdalne wywołania procedur Jarosław Kuchta Programowanie Współbieżne Podstawy RPC Remote Procedure Call Wywołanie procedur jednego procesu z innego procesu. Proces wywoływany serwer Proces wywołujący -
Bardziej szczegółowoSun RPC/XDR 10. listopada Dariusz Wawrzyniak (IIPP) 1
Remote Procedure Call external Data Representation trójwymiarowa identyfikacja procedur (nr programu, nr wersji, nr procedury) protokół RPC oparty na protokołach warstwy transportowej stosu TCP/IP (TCP
Bardziej szczegółowo1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float
Bardziej szczegółowoInternet Control Message Protocol Aplikacja ping
Internet Control Message Protocol Aplikacja ping Zagadnienia: Protokół ICMP. Specyfikacja projektu ping. Specyfikacja struktur i funkcji programu. Struktura programu. dr Zbigniew Lipiński Instytut Matematyki
Bardziej szczegółowoSun RPC/XDR. Dariusz Wawrzyniak 1
Remote Procedure Call external Data Representation trójwymiarowa identyfikacja procedur (nr programu, nr wersji, nr procedury) protokół RPC oparty na protokołach warstwy transportowej stosu TCP/IP (TCP
Bardziej szczegółowoexternal Data Representation
Remote Procedure Call external Data Representation Dariusz Wawrzyniak (IIPP) 1 trójwymiarowa identyfikacja procedur (nr programu, nr wersji, nr procedury) protokół RPC oparty na protokołach warstwy transportowej
Bardziej szczegółowoI - Microsoft Visual Studio C++
I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i
Bardziej szczegółowoTypy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1
Typy złożone Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy podstawowe Typy całkowite: char short int long Typy zmiennopozycyjne float double Modyfikatory : unsigned, signed Typ wskaźnikowy
Bardziej szczegółowoJęzyk ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Bardziej szczegółowoMETODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Bardziej szczegółowoKurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Bardziej szczegółowoInternet Control Message Protocol (ICMP) Łukasz Trzciałkowski
Internet Control Message Protocol (ICMP) Łukasz Trzciałkowski Czym jest ICMP? Protokół ICMP jest protokołem działającym w warstwie sieciowej i stanowi integralną część protokołu internetowego IP, a raczej
Bardziej szczegółowoTunelowanie, kapsułkowanie, XDR. 1. Transmisja tunelowa i kapsułkowanie serwery proxy. 2. Zewnętrzna reprezentacja danych XDR.
Tunelowanie, kapsułkowanie, XDR 1. Transmisja tunelowa i kapsułkowanie serwery proxy. 2. Zewnętrzna reprezentacja danych XDR. 1 Transmisja tunelowa i kapsułkowanie Sieci komputerowe rozwijały się stopniowo
Bardziej szczegółowoProjektowanie klas c.d. Projektowanie klas przykład
Projektowanie klas c.d. ogólne wskazówki dotyczące projektowania klas: o wyodrębnienie klasy odpowiedź na potrzeby życia (obsługa rozwiązania konkretnego problemu) o zwykle nie uda się utworzyć idealnej
Bardziej szczegółowoZiMSK dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ DHCP
ZiMSK dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ dr inż. Artur Sierszeń, asiersz@kis.p.lodz.pl dr inż. Andrzej Frączyk, a.fraczyk@kis.p.lodz.pl DHCP 1 Wykład Dynamiczna konfiguracja
Bardziej szczegółowoexternal Data Representation
Remote Procedure Call external Data Representation Opis standardu RFC 1014 Kanoniczna reprezentacja danych oparta na formacie IEEE Deklaratywny język opisu struktur danych (zbliżony do języka C) Koncepcja
Bardziej szczegółowoWykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor
Bardziej szczegółowoOprogramowanie komunikacyjne dla Internetu rzeczy Laboratorium nr 4 komunikacja unicastowa IPv6
Oprogramowanie komunikacyjne dla Internetu rzeczy Laboratorium nr 4 komunikacja unicastowa IPv6 Celem ćwiczenia jest zdobycie umiejętności programowania komunikacji unicastowej za pomocą protokołu IPv6
Bardziej szczegółowoSieciowa komunikacja procesów - XDR i RPC
*** abc.x Przyklad pliku RPCGEN Obliczanie sumy, roznicy i iloczynu dwoch liczb calkowitych *** ************************************ Wywolanie procedury odleglej dopuszcza tylko jeden argument wywolania
Bardziej szczegółowo4 bity zarezerwowane dla przyszłych zastosowań 11 bitów określających źródło błędu 16 bitów określających rodzaj błędu.
Zgłaszanie błędów HRESULT Każda metoda interfejsu COM zwraca informację o błędzie w postaci typu HRESULT (long int). Struktura reprezentacji bitowej HRESULT podzielona jest na 4 sekcje: 1 bit błędu 4 bity
Bardziej szczegółowoInterfejs programowy Windows Sockets 2. Aplikacja klient-serwer TCP Echo
Interfejs programowy Windows Sockets 2. Aplikacja klient-serwer TCP Echo Zagadnienia Omówienie biblioteki Winsock. Specyfikacja klienta tcpecho. Specyfikacja serwera tcpecho. dr Zbigniew Lipiński Instytut
Bardziej szczegółowoCzęść 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Bardziej szczegółowoMicrosoft IT Academy kurs programowania
Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego
Bardziej szczegółowoZdalne wywoływanie procedur RPC. Dariusz Wawrzyniak 1
Zdalne wywoływanie procedur Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status)... int zabij_proces (int
Bardziej szczegółowoProgramowanie Proceduralne
Programowanie Proceduralne Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 10 Co dziś będzie: Definiowanie struktury Deklarowanie zmiennych bȩda cych strukturami
Bardziej szczegółowoZdalne wywoływanie procedur RPC 27. października Dariusz Wawrzyniak (IIPP) 1
Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status)... int zabij proces (int pid){ int stat; stat = kill(pid,
Bardziej szczegółowoZdalne wywoływanie procedur RPC 27. października 2010
Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) }... int zabij_ proces (int pid){ int stat; stat
Bardziej szczegółowoAdresowanie grupowe. Bartłomiej Świercz. Katedra Mikroelektroniki i Technik Informatycznych. Łódź, 25 kwietnia 2006
Adresowanie grupowe Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 25 kwietnia 2006 Wstęp Na potrzeby sieci komputerowych zdefiniowano rożne rodzaje adresowania: adresowanie
Bardziej szczegółowoZdalne wywoływanie procedur RPC
Zdalne wywoływanie procedur Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) }... int zabij_proces
Bardziej szczegółowoZdalne wywoływanie procedur RPC
Zdalne wywoływanie procedur Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status)... int zabij_proces (int
Bardziej szczegółowo#line #endif #ifndef #pragma
8.1 Instrukcje preprocesorowe... 1 8.1.1 Instrukcja #define... 1 8.1.2 Instrukcje #pragma... 2 8.2 Polecenie _asm... 3 8.3 Polecenie declspec... 4 8.4 Definiowanie makr... 5 8.5 Programy wieloplikowe,
Bardziej szczegółowoTemat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,
Bardziej szczegółowoPodstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Bardziej szczegółowo// Potrzebne do memset oraz memcpy, czyli kopiowania bloków
ZAWARTOŚCI 3 PLIKOW W WORDZIE: MAIN.CPP: #include #include #include pamięci // Potrzebne do memset oraz memcpy, czyli kopiowania bloków #include "Rysowanie_BMP.h" using
Bardziej szczegółowoWstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this
Wstęp do programowania obiektowego WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this 1 Nazwa typu Rozmiar Zakres Uwagi bool 1 bit wartości true albo false stdbool.h TYPY ZNAKOWE
Bardziej szczegółowoJzyk C++ cz 3. Jarosław Gramacki Instytut Informatyki i Elektroniki ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )
Jzyk C++ cz 3 Jarosław Gramacki Instytut Informatyki i Elektroniki # $$%%& ' ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )!" 2 # $$%%& ' ( $%%/,))3 ( %* 2 / 4 ( ( *' *''*,
Bardziej szczegółowoProgramowanie Sieciowe 1
Programowanie Sieciowe 1 dr inż. Tomasz Jaworski tjaworski@iis.p.lodz.pl http://tjaworski.iis.p.lodz.pl/ Klient UDP Kolejność wykonywania funkcji gniazdowych klienta UDP Protokół UDP jest bezpołączeniowy:
Bardziej szczegółowoWarstwa sieciowa rutowanie
Warstwa sieciowa rutowanie Protokół IP - Internet Protocol Protokoły rutowane (routed) a rutowania (routing) Rutowanie statyczne i dynamiczne (trasowanie) Statyczne administrator programuje trasy Dynamiczne
Bardziej szczegółowoSieci komputerowe - Wstęp do intersieci, protokół IPv4
Piotr Kowalski KAiTI Internet a internet - Wstęp do intersieci, protokół IPv Plan wykładu Informacje ogólne 1. Ogólne informacje na temat sieci Internet i protokołu IP (ang. Internet Protocol) w wersji.
Bardziej szczegółowoAplikacja Sieciowa wątki po stronie klienta
Aplikacja Sieciowa wątki po stronie klienta Na ostatnich zajęciach zajmowaliśmy się komunikacją pomiędzy klientem a serwerem. Wynikiem naszej pracy był program klienta, który za pomocą serwera mógł się
Bardziej szczegółowoPomoc dla użytkowników systemu asix 6 i 7. Drajwer Bufor. Dok. Nr PLP6021 Wersja:
Pomoc dla użytkowników systemu asix 6 i 7 www.asix.com.pl Drajwer Bufor Dok. Nr PLP6021 Wersja: 2012-03-16 ASKOM i asix to zastrzeżone znaki firmy ASKOM Sp. z o. o., Gliwice. Inne występujące w tekście
Bardziej szczegółowoTRX API opis funkcji interfejsu
TRX Krzysztof Kryński Cyfrowe rejestratory rozmów seria KSRC TRX API opis funkcji interfejsu Kwiecień 2013 Copyright TRX TRX ul. Garibaldiego 4 04-078 Warszawa Tel. 22 871 33 33 Fax 22 871 57 30 www.trx.com.pl
Bardziej szczegółowoInstrukcja 6 - ARP i DNS - translacja adresów
Instrukcja 6 - ARP i DNS - translacja adresów 6.1 Cel ćwiczenia Celem ćwiczenia jest zaznajomienie rolą jakie pełnią protokoły ARP i DSN. 6.2 Wstęp W sieciach komputerowych wykorzystujących stos protokołów
Bardziej szczegółowoLaboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą
Bardziej szczegółowoczęść 8 wskaźniki - podstawy Jarosław Gramacki Instytut Informatyki i Elektroniki Podstawowe pojęcia
Język ANSI C część 8 wskaźniki - podstawy Jarosław Gramacki Instytut Informatyki i Elektroniki Podstawowe pojęcia najbardziej podstawowe operacje na wskaźnikach int x = 1, y = 2, Tab[10]; int *ip; // czy
Bardziej szczegółowoProgramowanie 2. Język C++. Wykład 1.
1.1 Wstęp... 1 1.2 Obiekty stałe... 3 1.3 Obiekty statyczne... 4 1.4 Wskaźniki... 5 1.5 Referencje... 8 1.6 Wskaźniki do wskaźników... 11 1.7 Definiowanie własnych typów danych, polecenie typedef... 17
Bardziej szczegółowoPodstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN
Podstawy Transmisji Danych Wykład IV Protokół IPV4 Sieci WAN to połączenia pomiędzy sieciami LAN 1 IPv4/IPv6 TCP (Transmission Control Protocol) IP (Internet Protocol) ICMP (Internet Control Message Protocol)
Bardziej szczegółowoWykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład II - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Operacje dyskowe - zapis do pliku #include #include
Bardziej szczegółowoPodstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.
Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using
Bardziej szczegółowoDYNAMICZNE PRZYDZIELANIE PAMIECI
DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne
Bardziej szczegółowoLaboratorium - Wykorzystanie programu Wireskark do badania ramek Ethernetowych
Laboratorium - Wykorzystanie programu Wireskark do badania ramek Ethernetowych Topologia Cele Część 1: Badanie pól nagłówka w ramce Ethernet II. Cześć 2: Użycie programu Wireshark do przechwycenia i analizy
Bardziej szczegółowoOperatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";
1 2 Operacje na zmiennych Kolejność operacji: deklaracja, inicjacja bool decyzja; int licznik, lp; double stvat, wartpi; char Znak; string S1, S2 = "Kowalski"; przypisanie wartości podstawienie decyzja
Bardziej szczegółowoGniazda surowe. Bartłomiej Świercz. Łódź,9maja2006. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Gniazda surowe
Gniazda surowe Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź,9maja2006 Wstęp Gniazda surowe posiadają pewne właściwości, których brakuje gniazdom TCP i UDP: Gniazda surowe
Bardziej szczegółowoProgramowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40
Programowanie w C++ Wykład 5 Katarzyna Grzelak 26 marca 2018 9 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Pojęcia z poprzedniego wykładu Podział programu na funkcje podział na niezależne
Bardziej szczegółowoProgramowanie. Ćwiczenie Język C. Środowisko programowania Visual Studio
Programowanie Ćwiczenie Język C. Środowisko programowania Visual Studio Tematy ćwiczenia praca ze środowiskiem, tworzenie i uruchomienie programu, struktura programu, deklaracje i definicje typy standardowe,
Bardziej szczegółowoPodstawowe części projektu w Javie
Podstawowe części projektu w Javie Pakiet w Javie to grupa podobnych typów klas, interfejsów i podpakietów. Pakiet w Javie może być wbudowany lub zdefiniowany przez użytkownika. Istnieje wiele wbudowanych
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Bardziej szczegółowoSieci komputerowe - adresacja internetowa
Sieci komputerowe - adresacja internetowa mgr inż. Rafał Watza Katedra Telekomunikacji AGH 1 Wprowadzenie Co to jest adresacja? Przedmioty adresacji Sposoby adresacji Układ domenowy, a układ numeryczny
Bardziej szczegółowoĆwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz
Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania Zofia Kruczkiewicz Zakres Funkcje przetwarzające teksty (biblioteka ) - tworzenie własnych
Bardziej szczegółowoModelowanie numeryczne w fizyce atmosfery Ćwiczenia 3
Modelowanie numeryczne w fizyce atmosfery Sylwester Arabas (ćwiczenia do wykładu dr. hab. inż. Lecha Łobockiego) Instytut Geofizyki, Wydział Fizyki Uniwersytetu Warszawskiego 3. listopada 2011 r. Schemat
Bardziej szczegółowoSieci Komputerowe. Protokół ICMP - Internet Control Message Protocol Protokół ICMP version 6. dr Zbigniew Lipiński
Sieci Komputerowe Protokół ICMP - Internet Control Message Protocol Protokół ICMP version 6 dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl
Bardziej szczegółowoDR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP. WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r.
DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r. PLAN Reprezentacja liczb w systemach cyfrowych Protokół IPv4 Adresacja w sieciach
Bardziej szczegółowo1. Tworzenie nowego projektu.
Załącznik do Instrukcji 1. Tworzenie nowego projektu. Wybieramy opcję z menu głównego New->QNX C Project. Wprowadzamy nazwę przechodzimy do następnego kroku NEXT. Wybieramy platformę docelową oraz warianty
Bardziej szczegółowoLaboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark
Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark Topologia Cele Część 1: Zapisanie informacji dotyczących konfiguracji IP komputerów Część 2: Użycie programu Wireshark do przechwycenia
Bardziej szczegółowoISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje
Funkcje (podprogramy) Mianem funkcji określa się fragment kodu, który może być wykonywany wielokrotnie z różnych miejsc programu. Ogólny zapis: typ nazwa(argumenty) ciało funkcji typ określa typ danych
Bardziej szczegółowoTworzenie aplikacji w języku Java
Tworzenie aplikacji w języku Java Wykład 1 Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku Java 2 października 2009
Bardziej szczegółowoSieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet
Sieci Komputerowe Wykład 1: TCP/IP i adresowanie w sieci Internet prof. nzw dr hab. inż. Adam Kisiel kisiel@if.pw.edu.pl Pokój 114 lub 117d 1 Kilka ważnych dat 1966: Projekt ARPANET finansowany przez DOD
Bardziej szczegółowoPodstawy programowania. Wykład Co jeszcze... Przypomnienia, uzupełnienia. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Co jeszcze... Przypomnienia, uzupełnienia Krzysztof Banaś Podstawy programowania 1 Typy danych Podstawowe wbudowane typy danych języka C: _Bool 0 i 1 (C99) znaki (char) 7
Bardziej szczegółowoKurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019
Wykład 3 22 marca 2019 Klasy wewnętrzne Klasa wewnętrzna class A {... class B {... }... } Klasa B jest klasa wewnętrzna w klasie A. Klasa A jest klasa otaczajac a klasy B. Klasy wewnętrzne Właściwości
Bardziej szczegółowoRPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls )
III RPC Zdalne wywoływanie procedur (ang. Remote Procedure Calls ) 1. Koncepcja Aplikacja wywołanie procedury parametry wyniki wykonanie procedury wynik komputer klienta komputer serwera Zaletą takiego
Bardziej szczegółowoJava Podstawy. Michał Bereta
Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu
Bardziej szczegółowoWykład 2 Wybrane konstrukcje obiektowych języków programowania (1)
MAS dr. Inż. Mariusz Trzaska Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) Zagadnienia o Podstawy o Kontrolowanie sterowania o Klasy o Interfejsy o Obsługa błędów o Pojemniki o System
Bardziej szczegółowoJęzyki programowania - podstawy
Języki programowania - podstawy Andrzej Dudek Wydział Techniczno Informatyczny W Jeleniej Górze Dudek A. Informatyka przemysłowa tendencje i wyzwania 26.10.2015 1 /24 Algorytm określony sposób rozwiązania
Bardziej szczegółowoKomunikacja w sieciach komputerowych
Komunikacja w sieciach komputerowych Dariusz CHAŁADYNIAK 2 Plan prezentacji Wstęp do adresowania IP Adresowanie klasowe Adresowanie bezklasowe - maski podsieci Podział na podsieci Translacja NAT i PAT
Bardziej szczegółowoKompilator języka C na procesor 8051 RC51 implementacja
Kompilator języka C na procesor 8051 RC51 implementacja Implementowane typy danych bit 1 bit char lub char signed 8 bitów char unsigned 8 bitów int lub signed int 16 bitów unsigned int 16 bitów long lub
Bardziej szczegółowoWykład. Materiały bazują częściowo na slajdach Marata Dukhana
Wykład Materiały bazują częściowo na slajdach Marata Dukhana Języki programowania Kompilowane np. C, C++, Pascal Interpretowane np. JavaScript, PHP, Python, VBA Pośrednie np. Java, C# Znane kompilatory
Bardziej szczegółowoProgramowanie komputerowe. Zajęcia 4
Programowanie komputerowe Zajęcia 4 Typ logiczny Wartości logiczne są reprezentowane przez typ bool. Typ bool posiada tylko dwie wartości: true i false. Zamiast wartości logicznych można używać wartości
Bardziej szczegółowoDla każdej operacji łącznie tworzenia danych i zapisu ich do pliku przeprowadzić pomiar czasu wykonania polecenia. Wyniki przedstawić w tabelce.
Przygotować program tworzący tablicę dwuwymiarową zawierającą zestawy 10 2, 10 4, 10 6 liczb losowych zmiennoprzecinkowych. Korzystając z funkcji bibliotecznych uporządkować zawartość każdego (a) wiersza
Bardziej szczegółowoMODEL WARSTWOWY PROTOKOŁY TCP/IP
MODEL WARSTWOWY PROTOKOŁY TCP/IP TCP/IP (ang. Transmission Control Protocol/Internet Protocol) protokół kontroli transmisji. Pakiet najbardziej rozpowszechnionych protokołów komunikacyjnych współczesnych
Bardziej szczegółowoWarstwa sieciowa. Model OSI Model TCP/IP. Aplikacji. Aplikacji. Prezentacji. Sesji. Transportowa. Transportowa
Warstwa sieciowa Model OSI Model TCP/IP Aplikacji Prezentacji Aplikacji podjęcie decyzji o trasowaniu (rutingu) na podstawie znanej, lokalnej topologii sieci ; - podział danych na pakiety Sesji Transportowa
Bardziej szczegółowoSkąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta
Sieci komputerowe 1 Sieci komputerowe 2 Skąd dostać adres? Metody uzyskiwania adresów IP Część sieciowa Jeśli nie jesteśmy dołączeni do Internetu wyssany z palca. W przeciwnym przypadku numer sieci dostajemy
Bardziej szczegółowoBiblioteka standardowa - operacje wejścia/wyjścia
Biblioteka standardowa - operacje wejścia/wyjścia Przemysław Gawroński D-10, p. 234 Wykład 6 15 stycznia 2019 (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 1 / 14 Outline
Bardziej szczegółowoCo nie powinno być umieszczane w plikach nagłówkowych:
Zawartość plików nagłówkowych (*.h) : #include #define ESC 27 dyrektywy dołączenia definicje stałych #define MAX(x,y) ((x)>(y)?(x):(y)) definicje makr int menu(char* tab[], int ilosc); struct
Bardziej szczegółowoWskaźniki. Informatyka
Materiały Wskaźniki Informatyka Wskaźnik z punktu widzenia programisty jest grupą komórek pamięci (rozmiar wskaźnika zależy od architektury procesora, najczęściej są to dwa lub cztery bajty ), które mogą
Bardziej szczegółowoALGORYTMY I STRUKTURY DANYCH
Akademia Rolnicza im. Augusta Cieszkowskiego w Poznaniu - Instytut Inżynierii Rolniczej - ALGORYTMY I STRUKTURY DANYCH Prowadzący: dr inż. Radosław J. Kozłowski email: rjk@au.poznan.pl www: http://www.au.poznan.pl/~rjk
Bardziej szczegółowoPlan wykładu. Warstwa sieci. Po co adresacja w warstwie sieci? Warstwa sieci
Sieci komputerowe 1 Sieci komputerowe 2 Plan wykładu Warstwa sieci Miejsce w modelu OSI/ISO Funkcje warstwy sieciowej Adresacja w warstwie sieciowej Protokół IP Protokół ARP Protokoły RARP, BOOTP, DHCP
Bardziej szczegółowoZajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()
Bardziej szczegółowoPodstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard
Bardziej szczegółowoLaboratorium 03: Podstawowe konstrukcje w języku Java [2h]
1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie
Bardziej szczegółowo