it-swarm-tr.com

Bir ağ arabiriminde HTTP isteklerini anında izleme?

Hata ayıklama amacıyla bir ağ arabirimindeki http isteklerini izlemek istiyorum.

Bir saf tcpdump komut satırı kullanarak çok düşük düzeyde bilgi alıyorum ve ihtiyacım olan bilgiler çok net bir şekilde temsil edilmiyor.

Trafiği tcpdump üzerinden bir dosyaya boşaltmak ve daha sonra wireshark kullanmak dezavantajın anında olmamasıdır.

Böyle bir araç kullanımı hayal:

$ monitorhttp -ieth0 --only-get --just-urls
2011-01-23 20:00:01 GET http://foo.example.org/blah.js
2011-01-23 20:03:01 GET http://foo.example.org/bar.html
...

Linux kullanıyorum.

84
maxschlepzig

tcpflow'yi deneyin:

tcpflow -p -c -i eth0 port 80 | grep -oE '(GET|POST|HEAD) .* HTTP/1.[01]|Host: .*'

Çıktı şöyle:

GET /search?q=stack+exchange&btnI=I%27m+Feeling+Lucky HTTP/1.1
Host: www.google.com

Açıkça grep deyimine ek HTTP yöntemleri ekleyebilir ve iki satırı tam bir URL'de birleştirmek için sed kullanabilirsiniz.

106
bahamat

Bunu yapmak için httpry veya Justniffer kullanabilirsiniz.

httpry kullanılabilir örn. Fedora paket deposu aracılığıyla.

Örnek çağrı:

# httpry -i em1

(nerede em1 bir ağ arabirimi adını belirtir)

Örnek çıktı:

2013-09-30 21:35:20    192.168.0.1     198.252.206.16    >    POST    unix.stackexchange.com    /posts/6281/editor-heartbeat/edit    HTTP/1.1
2013-09-30 21:35:20    198.252.206.16  192.168.0.1       < HTTP/1.1   200    OK
2013-09-30 21:35:49    192.168.0.1     198.252.206.16    >    POST    unix.stackexchange.com    /posts/validate-body                 HTTP/1.1
2013-09-30 21:35:49    198.252.206.16  192.168.0.1       < HTTP/1.1   200    OK
2013-09-30 21:33:33    192.168.0.1      92.197.129.26    >    GET     cdn4.spiegel.de    /images/image-551203-breitwandaufmacher-fgoe.jpg    HTTP/1.1

(çıktı biraz kısalır)

24
X4lldux

Ben de https için çalışması gerekir ek gereksinimi ile benzer bir şey arıyordu.

tcpflowhttpryurlsnarf ve diğer tcpdump kung f gibi pcap tabanlı araçlar http için iyi çalışır, ancak güvenli istekler için şansınız kalmaz.

rldump , etrafında küçük bir sarıcı mitmproxy ile geldi.
iptables trafiği proxy'ye yönlendirmek için kullanılır, bu nedenle şeffaf çalışır.

$ Sudo urldump   
http://docs.mitmproxy.org/en/stable/certinstall.html
http://docs.mitmproxy.org/en/stable/_static/js/modernizr.min.js
https://media.readthedocs.org/css/sphinx_rtd_theme.css
https://media.readthedocs.org/css/readthedocs-doc-embed.css
https://media.readthedocs.org/javascript/readthedocs-doc-embed.js
...

Daha fazla bilgi için BENIOKU konusuna bakın.

7
lemonsqueeze

Başka bir iyi seçenek nethogs olabilir

Fedora'da çekirdek paketler arasında mevcuttur ve centos'ta epel repo aracılığıyla alabilirsiniz.

1
adriano72

Bence Wireshark ne istersen yapabilir

Artı tarafta, çok güçlü, apt-get ile yükleyebilirsiniz ve bir GUI ile birlikte gelir.

Ancak, filtre sistemi karmaşıktır - ancak yerleşik iyi öğreticiler vardır ve size trafiğin canlı veya başlat/durdur genel görünümünü verir.

'Http' kelimesini filtreye yazmanız, muhtemelen size aradığınızı verecektir (yani, kullanıcılar tarafından oluşturulan ana trafik).

1
Mahmoud Hossam

Ayrıca dsniff paketinin bir parçası olan urlsnarf komut satırı programı da vardır (örneğin Fedora 19 ile de paketlenmiştir).

Misal:

# urlsnarf -i em1
urlsnarf: listening on em1 [tcp port 80 or port 8080 or port 3128]
jhost - - [29/May/2014:10:25:09 +0200] "GET http://unix.stackexchange.com/questions HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0"
jhost - - [29/May/2014:10:25:36 +0200] "GET http://www.spiegel.de/ HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0"
jhost - - [29/May/2014:10:25:36 +0200] "GET http://www.spiegel.de/layout/css/style-V5-2-2.css HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0"
jhost - - [29/May/2014:10:25:36 +0200] "GET http://www.spiegel.de/layout/jscfg/http/global-V5-2-2.js HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0"
jhost - - [29/May/2014:10:25:36 +0200] "GET http://www.spiegel.de/layout/js/http/javascript-V5-2-2.js HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0"
jhost - - [29/May/2014:10:25:36 +0200] "GET http://www.spiegel.de/layout/js/http/interface-V5-2-2.js HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0"
jhost - - [29/May/2014:10:25:36 +0200] "GET http://www.spiegel.de/layout/js/http/netmind-V5-2-2.js HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0"
jhost - - [29/May/2014:10:25:36 +0200] "GET http://www.spiegel.de/favicon.ico HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0"
jhost - - [29/May/2014:10:25:36 +0200] "POST http://ocsp.thawte.com/ HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0"
jhost - - [29/May/2014:10:25:36 +0200] "POST http://ocsp.thawte.com/ HTTP/1.1" - - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0
[..]

(önce SE'ye sonra da spiegel.de'ye göz atarken)

Sınırlamalar: dsnarf IPv6'yı desteklemez . Bu hata raporunu Fedora 19 üzerinde 0.17 ile çoğaltabilirim. Ayrıca Ubuntu güvenilir atm altında kırılmış gibi görünüyor (berrak çalışır).

1
maxschlepzig