Az én konkrét esetemben az Oracle-kliens által nyitott TCP-kapcsolatról lenne szó, amely ugye az ő magánügye, nekem semmi közöm hozzá.
Ugyanakkor a [sporadikusan jelentkező] 15-perces válaszidőt kicsit sokallom, ezért némiképpen mégis beleavatkozom az ő TCP kapcsolatába, jelen pillanatban így állunk (részlet az alkalmazás logjából):
20220525.085737.172 Attached to server 'tnsid' in 40 ms
20220525.085737.172 Guessed file handle=11, TCP-connection 10.20.30.40:47490 -> 10.129.129.10:1521
20220525.085737.172 setsockopt (11, SO_KEEPALIVE, 1=ON) OK
20220525.085737.172 setsockopt (11, TCP_KEEPIDLE, 120s): OK
20220525.085737.173 setsockopt (11, TCP_USER_TIMEOUT, 45000ms): OK
20220525.085737.192 Logged on as 'username' in 19 ms
Ebből az egyik érdekes rész az, hogy az Oracle-kliens TCP-kapcsolatának azonosítóját (itt 11) közönséges telepátia útján kell kitalálni, mivel nem találtam hivatalos módot a lekérdezésre.
- NevemTeve blogja
- A hozzászóláshoz be kell jelentkezni
Hozzászólások
netstat ?
- A hozzászóláshoz be kell jelentkezni
lsof -itcp
(pid + fd kombináció)
- A hozzászóláshoz be kell jelentkezni
+r, mert így kicsit raccsolós a cím
- A hozzászóláshoz be kell jelentkezni
Köszönöm, javítottam.
- A hozzászóláshoz be kell jelentkezni
en stracevel megneznem van-e connect() hivas. ha igen akkor ld_preload-al hookolnam, ha megfeleloek a parameterek, akkor elotte/utana mehet a setsockopt-al beallitanam amit kell.
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Csak annyi, hogy megnézem a nyitott handle-kat connect előtt és után: ami különbözik (és működik rá a getsockname/getpeername), az lesz az Oracle kapcsolata. (Pl. az isatty(2) hívással lehet lekérdezni, hogy egy handle használatban van-e: ha a válasz EBADF, akkor nincs.)
- A hozzászóláshoz be kell jelentkezni