Como identificar em qual processo o tráfego TCP recebido pertence ao DTrace no macOS

2

Como pode ser visto aqui, temos PID disponível no envio, mas não recebemos. Como limitar os testes a conexões pertencentes / iniciadas por um processo específico?

sudo dtrace -n 'tcp:::receive, tcp:::send { printf("PID = %d, arg1 == %x", pid, arg1); }'
dtrace: description 'tcp:::receive, tcp:::send ' matched 2 probes
CPU     ID                    FUNCTION:NAME
  6   1571                  tcp_output:send PID = 13507, arg1 == ffffff80664413c0
  0   1574                tcp_input:receive PID = 0, arg1 == 0
  0   1574                tcp_input:receive PID = 0, arg1 == 0
  6   1571                  tcp_output:send PID = 13507, arg1 == ffffff80664f6fd8
  6   1574                tcp_input:receive PID = 0, arg1 == 0
  6   1574                tcp_input:receive PID = 0, arg1 == 0
  2   1571                  tcp_output:send PID = 0, arg1 == ffffff80664f9678
  4   1571                  tcp_output:send PID = 13511, arg1 == ffffff80664413c0
  6   1574                tcp_input:receive PID = 0, arg1 == 0
  6   1574                tcp_input:receive PID = 0, arg1 == 0
  6   1571                  tcp_output:send PID = 13511, arg1 == ffffff8057ee7678
  6   1574                tcp_input:receive PID = 0, arg1 == 0
  6   1574                tcp_input:receive PID = 0, arg1 == 0
  4   1574                tcp_input:receive PID = 0, arg1 == 0
  4   1571                  tcp_output:send PID = 0, arg1 == ffffff806c2b9d18
  4   1574                tcp_input:receive PID = 0, arg1 == 0
  4   1571                  tcp_output:send PID = 0, arg1 == ffffff806c2b9d18
  4   1574                tcp_input:receive PID = 0, arg1 == 0
  4   1571                  tcp_output:send PID = 0, arg1 == ffffff806c2b9d18
  6   1571                  tcp_output:send PID = 851, arg1 == ffffff806c2b9d18
  6   1571                  tcp_output:send PID = 851, arg1 == ffffff806c2b9d18
  6   1571                  tcp_output:send PID = 851, arg1 == ffffff806c2b9d18
  0   1574                tcp_input:receive PID = 0, arg1 == 0
  0   1574                tcp_input:receive PID = 0, arg1 == 0

Em solaris, o segundo argumento args[1] seria um ponteiro para csinfo_t contendo todas as informações de que preciso, mas no Mac OS ele é sempre nulo. Os argumentos do Solaris são descritos no seguinte link link

Estou usando o macOS 10.13.6

    
por BuyManAFish 16.07.2018 / 16:09

0 respostas