Semuanya dimulai ketika saya sedang surfing di sekitar penyedia berbagai web hosting. Di antara kriteria lainnya, saya mencoba untuk menemukan satu yang tidak terlalu tinggi latency dari mesin saya di sini di rumah jadi bekerja pada mereka tidak akan menjadi fest lag lengkap. Tapi sejumlah penyedia memiliki ICMP disaring sehingga Anda tidak bisa ping situs web mereka, dan tidak bisa mengatakan apa latency seperti.
Tools ini menggunakan libnet untuk membuat dan mengirimkan sebuah paket SYN dibuat untuk taget, and libpcap dan libpcap untuk mengendus untuk lalu lintas kembali. Jika port yang Anda pilih (default 80) pada server target memiliki layanan ini, target mengirimkan kembali paket SYN / ACK. Sistem operasi lokal Anda mendapatkan paket ini, tidak tahu apa yang harus dilakukan dengan itu, dan kemudian mengirimkan target paket RST. Ini sebenarnya cukup bagus karena membersihkan semuanya jadi kami tidak dapat dituduh menciptakan ton setengah terbuka koneksi TCP. Jika Anda memilih port pada target yang tidak memiliki layanan ini (dan tidak disaring), target mengirimkan kembali paket RST. Anda OS lokal hanya menurunkan ini.
Berikut adalah beberapa contoh output, secara default ping port 80 (web server yang berjalan):
[6:22pm] trixie:~/proj/tcpping-% sudo ./tcpping bekasi TCP PING bekasi.internal.kehlet.cx (10.16.81.2:80) on en1 SYN/ACK from 10.16.74.2: seq=1 ttl=64 time=1.047ms SYN/ACK from 10.16.74.2: seq=2 ttl=64 time=0.965ms SYN/ACK from 10.16.74.2: seq=3 ttl=64 time=1.081ms SYN/ACK from 10.16.74.2: seq=4 ttl=64 time=1.245ms ^C --- bekasi.internal.kehlet.cx TCP ping statistics --- 4 SYN packets transmitted, 4 SYN/ACKs and 0 RSTs received, 0.0% packet loss round-trip min/avg/max = 0.965/1.084/1.245 ms
Berikut adalah Tools dalam tindakan terhadap port 92, yang akan mengirimkan kembali RSTS (no service yang berjalan pada port itu):
[6:22pm] trixie:~/proj/tcpping-% sudo ./tcpping -p 92 bekasi TCP PING bekasi.internal.kehlet.cx (10.16.81.2:92) on en1 RST from 10.16.74.2: seq=1 ttl=64 time=0.862ms RST from 10.16.74.2: seq=2 ttl=64 time=1.040ms RST from 10.16.74.2: seq=3 ttl=64 time=1.019ms RST from 10.16.74.2: seq=4 ttl=64 time=1.044ms ^C --- bekasi.internal.kehlet.cx TCP ping statistics --- 4 SYN packets transmitted, 0 SYN/ACKs and 4 RSTs received, 0.0% packet loss round-trip min/avg/max = 0.862/0.991/1.044 ms
Dengan modus verbose (-v), alat akan menunjukkan paket-paket yang sebenarnya. Berikut adalah sebuah situs yang menyaring ping ICMP, tapi kita bisa menyiasati itu dengan tcp ping:
[6:25pm] trixie:~/proj/tcpping-% sudo ./tcpping -v www.apollohosting.com TCP PING www.apollohosting.com (208.56.13.233:80) on en1 1076828929.146519 10.16.74.8:8674 -> 208.56.13.233:80 [S] 1076828929.238506 208.56.13.233:80 -> 10.16.74.8:8674 [SA] SYN/ACK from 208.56.13.233: seq=1 ttl=48 time=90.847ms 1076828929.240317 10.16.74.8:8674 -> 208.56.13.233:80 [R] 1076828930.241348 10.16.74.8:61062 -> 208.56.13.233:80 [S] 1076828930.326531 208.56.13.233:80 -> 10.16.74.8:61062 [SA] SYN/ACK from 208.56.13.233: seq=2 ttl=48 time=85.162ms 1076828930.328364 10.16.74.8:61062 -> 208.56.13.233:80 [R] 1076828931.329304 10.16.74.8:17802 -> 208.56.13.233:80 [S] 1076828931.412466 208.56.13.233:80 -> 10.16.74.8:17802 [SA] SYN/ACK from 208.56.13.233: seq=3 ttl=48 time=83.164ms 1076828931.414274 10.16.74.8:17802 -> 208.56.13.233:80 [R] 1076828932.415249 10.16.74.8:60598 -> 208.56.13.233:80 [S] 1076828932.496567 208.56.13.233:80 -> 10.16.74.8:60598 [SA] SYN/ACK from 208.56.13.233: seq=4 ttl=48 time=81.255ms 1076828932.498290 10.16.74.8:60598 -> 208.56.13.233:80 [R] ^C --- www.apollohosting.com TCP ping statistics --- 4 SYN packets transmitted, 4 SYN/ACKs and 0 RSTs received, 0.0% packet loss round-trip min/avg/max = 1.000/85.107/90.847 ms
Anda dapat melihat dari atas perilaku yang saya dijelaskan: kita mengirim paket SYN palsu, target mengirimkan kembali SYN / ACK (di mana titik tools mencetak informasi waktu). Hanya setelah itu OS lokal mengirim RST ke target.
Jika tools ini berguna bagi Anda saya akan merasa senang dan jika masih bingung, silakan beritahu saya.
No comments:
Post a Comment