Danke Silke.
Deine Erklärung macht Sinn. Da ich kein Coder bin ergeben sich für mich weitere x-Fragen zu strace und seinen System-Calls.
Eigentlich habe ich –zig Fragen zu „strace“, hoffe aber, dass sich einige Fragen von selbst mit eurer Hilfe erledigen.
1. Frage
Ist es möglich, dass strace vor jeder Zeile eine Zeilennummer schreibt, und diese dann fortlaufend nummeriert.
Hintergrund ist hier, eine einfachere Auswertung der Datei bzw. welche Möglk. habe ich dies zu machen.
2. Frage
Ich habe wvdial mit „strace –f …wvdial“ noch mal neu gestartet, dass heißt, diesmal ohne Filterregeln. Das Ergebnis waren 123 DIN A Seiten Output von strace.
Einige wichtige für mich zu klärende Anschnitte habe ich herausgezogen und möchte diese mit euch gerne besprechen, auch wenn ich weiß, dass dies eine mühsame Angelegenheit ist.
Darum vorneweg, vielen Dank für eure Mühe:
Um die Sache zu beschleunigen, habe ich es als Frage/Antwort aufgezogen. Wenn ihr mich nicht berichtigt, gehe ich davon aus, dass ich Recht habe.
## Hier wird wvdial mit der PID 2333 gestartet:
## Richtig?
2333 execve("/usr/bin/wvdial", ["wvdial"], [/* 26 vars */]) = 0
2333 uname({sys="Linux", node="debian", ...}) = 0
2333 brk(0) = 0x8064000
-snipp
## Hier wird von wvdial auf die Datei /etc/wvdial.conf zugegriffen und anschließend
## geöffnet und gelesen. Richtig?
2333 rt_sigaction(SIGHUP, {0x804d380, [HUP], SA_RESTART}, {SIG_DFL},

= 0
2333 access("/etc/wvdial.conf", F_OK) = 0
2333 open("/etc/wvdial.conf", O_RDONLY|O_NONBLOCK|O_LARGEFILE) = 4
2333 fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
2333 fstat64(4, {st_mode=S_IFREG|0755, st_size=933, ...}) = 0
2333 select(5, [4], [], [], {0, 0}) = 1 (in [4], left {0, 0})
2333 read(4, "\n\n\n\n[Dialer Defaults]\nProvider ="..., 1024) = 933
2333 select(5, [4], [], [], {0, 0}) = 1 (in [4], left {0, 0})
2333 read(4, "", 1024) = 0
2333 close(4) = 0
## Hier wird von wvdial auf die Datei /root/.wvdialrc
## Richtig?
2333 access("/root/.wvdialrc", F_OK) = -1 ENOENT (No such file or directory)
2333 write(3, "--> ", 4) = 4
## Ich vermute, wvdial ließt die Infos aus der Datei "/etc/wvdial.conf“
## Richtig?
## Frage: was bedeutet write(3 …)
2333 write(3, "WvDial: Internet dialer version "..., 38) = 38
2333 write(3, "\n", 1) = 1
2333 open("/var/lock/LCK..ttyACM0", O_RDWR|O_NONBLOCK|O_CREAT|O_EXCL|O_LARGEFILE, 0644) = 4
2333 fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
## Hier bekommt wvdial die PID 2333.
## Frage: wvdial hat seit dem Start des Programms diese PID. Warum wird diese hier erst zugewiesen
2333 getpid() = 2333
2333 write(4, " 2333\n", 11) = 11
2333 close(4) = 0
2333 open("/dev/ttyACM0", O_RDWR|O_NONBLOCK|O_NOCTTY|O_LARGEFILE) = 4
2333 write(3, "\n", 1) = 1
2333 write(3, "--> ", 4) = 4
2333 write(3, "Initializing modem.", 19) = 19
2333 write(3, "\n", 1) = 1
2333 write(4, "\r\r\r\r\r", 5) = 5
2333 select(5, [4], [], [], {0, 100000}) = 0 (Timeout)
2333 write(4, "ATZ\r", 4) = 4
2333 write(3, "--> ", 4) = 4
2333 write(3, "Sending: ATZ", 12) = 12
2333 write(3, "\n", 1) = 1
2333 select(5, [4], [], [], {5, 0}) = 1 (in [4], left {4, 528000})
2333 time(NULL) = 1140183944
2333 read(4, "ATZ\r\r\nOK\r\n", 1024) = 10
2333 select(5, [4], [], [], {0, 100000}) = 0 (Timeout)
2333 write(3, "ATZ", 3) = 3
2333 write(3, "\n", 1) = 1
2333 write(3, "OK", 2) = 2
Snipp
## Frage: wer greift auf pppd zu und startet es?
2333 access("/usr/sbin/pppd", X_OK) = 0
2333 time([1140183992]) = 1140183992
2333 open("/etc/localtime", O_RDONLY) = 8
2333 fstat64(8, {st_mode=S_IFREG|0644, st_size=837, ...}) = 0
2333 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f2c000
2333 read(8, "TZif\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\0\0\0\10"..., 4096) = 837
2333 close(8) = 0
2333 munmap(0xb7f2c000, 4096) = 0
2333 write(3, "--> ", 4) = 4
2333 write(3, "Starting pppd at Fri Feb 17 14:4"..., 41) = 41
2333 write(3, "\n", 1) = 1
## Frage: Wer öffnet pap-secrets?
2333 open("/etc/ppp/pap-secrets", O_RDONLY|O_NONBLOCK|O_LARGEFILE) = -1 ENOENT (No such file or directory)
2333 open("/etc/ppp/pap-secrets", O_WRONLY|O_NONBLOCK|O_CREAT|O_TRUNC|O_LARGEFILE, 0600) = -1 EPERM (Operation not permitted)
2333 open("/etc/ppp/chap-secrets", O_RDONLY|O_NONBLOCK|O_LARGEFILE) = -1 ENOENT (No such file or directory)
2333 open("/etc/ppp/chap-secrets", O_WRONLY|O_NONBLOCK|O_CREAT|O_TRUNC|O_LARGEFILE, 0600) = -1 EPERM (Operation not permitted)
2333 write(3, "--> ", 4) = 4
2333 write(3, "Warning: Could not modify /etc/p"..., 71) = 71
2333 write(3, "\n", 1) = 1
2333 write(3, "--> ", 4) = 4
## Frage: Hier wird pppd gestartet. Durch welches Programm?
2333 write(3, "--> ", 4) = 4
2333 write(3, "pid of pppd: 2335", 17) = 17
2333 write(3, "\n", 1) = 1
2333 time(NULL) = 1140183992
2333 select(5, [4], [], [], {0, 100000} <unfinished ...>
2335 execve("/usr/sbin/pppd", ["/usr/sbin/pppd", "57600", "modem", "crtscts", "defaultroute", "usehostname", "-detach", "user", "
154595@ngi.de", "noipdefault", "call", "wvdial", "usepeerdns", "idle", "0", "logfd", ...], [/* 26 vars */]) = 0
2335 uname({sys="Linux", node="debian", ...}) = 0
2335 getpid() = 2335
2335 rt_sigaction(SIGPIPE, {0xb7f1ca70, [], 0}, {SIG_IGN},

= 0
2335 send(4, "<151>Feb 17 14:46:50 pppd[2335]:"..., 73, 0) = 73
2335 rt_sigaction(SIGPIPE, {SIG_IGN}, NULL,

= 0
2335 write(6, "sent [LCP TermReq id=0x2 \"User r"..., 40) = 40
2335 write(6, "\n", 1) = 1
2335 write(13, "\300!\5\2\0\20User request", 18) = 18
2335 gettimeofday({1140184010, 674500}, NULL) = 0
## Frage: Hier erfolgt einen Änderung der PID. Durch welches Programm wurde das ausgelöst und wer bekommt die neue PID?
2364 <... close resumed> ) = 0
2364 setsid() = 2364
2364 umask(077) = 022
2364 chdir("/") = 0
2364 setuid32(0) = 0
2364 getegid32() = 0
2364 setgid32(0) = 0
2364 execve("/etc/ppp/ip-down", ["/etc/ppp/ip-down", "ppp0", "/dev/ttyACM0", "57600", "195.179.210.167", "195.179.199.254"], [/* 15 vars */]) = 0
2364 uname({sys="Linux", node="debian", ...}) = 0
2364 brk(0) = 0x80e6000
2364 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,