powrót
Ćwiczenia 5
sieci
ifconfig
Przykłady:
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:C0:DF:01:AE:3E
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:169989 errors:0 dropped:0 overruns:0 frame:0
TX packets:166048 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:22121102 (21.0 MiB) TX bytes:169321645 (161.4 MiB)
Interrupt:10 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:12746 errors:0 dropped:0 overruns:0 frame:0
TX packets:12746 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2400551 (2.2 MiB) TX bytes:2400551 (2.2 MiB)
- $ ifconfig eth0
- $ ifconfig -a
- $ ifconfig eth0 down
- $ ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up
netstat
Przykłady:
$ netstat # lista gniazd
$ netstat -i # lista interfejsów sieciowych
$ netstat -r # tablica routingu
$ netstat -M # lista maskaradowanych sesji
ping
Przełączniki:
-c <n> # liczba pakietów
-i <n> # czas w sekundach miedzy pakietami
-R # wyznacza trasę
Przykłady:
$ ping www.wmi.amu.edu.pl
$ ping -c 7 -i 3 www.wmi.amu.edu.pl
$ ping -c 1 -R pl.wikipedia.com
gcc
[GNU Compiler Collection]
Przykłady:
$ gcc plik.c
- prekompilacja
$ gcc -E plik.c > plik.i
- kompilacja
$ gcc -S plik.i
powstaje plik.s
- asemblacja
$ gcc -c plik.s
powstaje plik.o
- linkowanie
$ gcc plik.s
powstaje a.out
- $ gcc -lm plik.c # /lib/libm.so
- $ gcc -L. -lm plik.c # ./libm.so
- $ gcc plik.c -o plik.exe
- $ gcc p1.c p2.c plik.c
Zadanie:
- test.c
#include"hello.h"
#include"bye.h"
int main()
{
hello();
bye();
return 0;
}
- hello.h
void hello();
- hello.c
#include<stdio.h>
void hello()
{
printf("Cześć\n");
}
- bye.h
void bye();
- bye.c
#include<stdio.h>
void bye()
{
printf("Nara\n");
}
- $ gcc -c hello.c
- $ gcc -c bye.c
- $ gcc -c test.c
- $ ar rcsv libhellobye.a hello.o bye.o
- $ gcc -o plikDS test.o -L. -lhellobye
- $ gcc -static -o plikSS test.o -L. -lhellobye
- $ ./plikDS
- $ ./plikSS
- $ ls -l
- $ gcc -c -fpic hello.c
- $ gcc -c -fpic bye.c
- $ gcc -shared -o libhellobye.so hello.o bye.o
- $ gcc -o plikDD -L. -lhellobye test.c
- $ export LD_LIBRARY_PATH=.
- $ ./plikDD
- $ rm libhellobye.so
- $ ./plikDD