ats-min.com

Just another programmer's site

Category: Network

Nemesis install

When install paket injection tool “Nemesis”, I have to install “libnet-1.0.2a” library.

I  installed the library to /usr/nemesis/Libnet-1.0.2 by following command,

mkdir  /usr/nemesis

http://packetfactory.openwall.net/libnet/dist/deprecated/libnet-1.0.2a.tar.gz

cd Libnet-1.0.2a

./configure

make && make install

 

Then build nemesis,

wget http://packetfactory.openwall.net/projects/nemesis/nemesis-1.4beta3.tar.gz

tar xvf nemesis-1.4beta3.tar.tz.

cd nemesis-1.4beta3

./configure –with-libnet-includes=/usr/nemesis/Libnet-1.0.2a/include/ –with-libnet-libraries=/usr/nemesis/Libnet-1.0.2a/lib

make && make install

 

Nemesis has been installed!

I tried ethernet spoofing.

sudo nemesis ethernet -d wlan0 -M {local PC MAC address} -H aa:aa:aa:aa:aa:aa

then dummy ethernet packet was captured like

00 08 ca ce 17 f5 aa aa  aa aa aa aa 08 00  (captured ethernet header : payload is nothing)

http://packetfactory.openwall.net/projects/nemesis/index.html

insecurety.net/?p=54a

 

TCP PUSH

趣味のネットワークの勉強で、

cのプログラムによるパケットキャプチャをしてみたときのこと。

ためしにgoogleへのアクセスをキャプチャしてみた。

==== 74 バイトのパケットを取得しました ====
[[  第2層:: イーサネットヘッダ  ]]
[ 送信元: 00:08:ca:ce:17:f5    宛先: 00:19:c8:01:9a:ce    タイプ: 8 ]
((  第3層::: IPヘッダ  ))
( 送信元: 192.168.1.103    宛先: 173.194.117.186 )
( タイプ: 6    ID: 60408    長さ: 60 )
{{  第4層:::: TCPヘッダ  }}
{ 送信元ポート: 47876    宛先ポート: 443 }
{ Seq #: 2914304096    Ack #: 0 }
{ ヘッダサイズ: 40    フラグ: SYN  }
パケットデータがありません
==== 66 バイトのパケットを取得しました ====
[[  第2層:: イーサネットヘッダ  ]]
[ 送信元: 00:19:c8:01:9a:ce    宛先: 00:08:ca:ce:17:f5    タイプ: 8 ]
((  第3層::: IPヘッダ  ))
( 送信元: 173.194.117.179    宛先: 192.168.1.103 )
( タイプ: 6    ID: 35451    長さ: 52 )
{{  第4層:::: TCPヘッダ  }}
{ 送信元ポート: 443    宛先ポート: 51184 }
{ Seq #: 4233367971    Ack #: 151997378 }
{ ヘッダサイズ: 32    フラグ: ACK  }
パケットデータがありません
==== 74 バイトのパケットを取得しました ====
[[  第2層:: イーサネットヘッダ  ]]
[ 送信元: 00:19:c8:01:9a:ce    宛先: 00:08:ca:ce:17:f5    タイプ: 8 ]
((  第3層::: IPヘッダ  ))
( 送信元: 173.194.117.186    宛先: 192.168.1.103 )
( タイプ: 6    ID: 33920    長さ: 60 )
{{  第4層:::: TCPヘッダ  }}
{ 送信元ポート: 443    宛先ポート: 47876 }
{ Seq #: 1822618758    Ack #: 2914304097 }
{ ヘッダサイズ: 40    フラグ: SYN ACK  }
パケットデータがありません
==== 107 バイトのパケットを取得しました ====
[[  第2層:: イーサネットヘッダ  ]]
[ 送信元: 00:08:ca:ce:17:f5    宛先: 00:19:c8:01:9a:ce    タイプ: 8 ]
((  第3層::: IPヘッダ  ))
( 送信元: 192.168.1.103    宛先: 173.194.117.186 )
( タイプ: 6    ID: 60425    長さ: 93 )
{{  第4層:::: TCPヘッダ  }}
{ 送信元ポート: 47876    宛先ポート: 443 }
{ Seq #: 2914306210    Ack #: 1822619939 }
{ ヘッダサイズ: 32    フラグ: PUSH ACK  } ★←これ!★
41 バイトのパケットデータ
17 03 03 00 24 00 00 00 00 00 00 00 07 20 30 ae | ….$…….. 0.
1e 34 9c 42 a6 03 31 81 66 aa 82 ee 2a f4 f2 ec | .4.B..1.f…*…
cd d7 d0 5e e9 a4 da 1c c2                      | …^…..
==== 66 バイトのパケットを取得しました ====

はじめの”SIN”,”SIN ACK”,”ACK”は3way handshakeで、

その後の”ACK PUSH”というものを見つけた。

調べてみたら”PUSH”フラグはすぐに相手のサーバにの

アプリケーションにパケットを渡して欲しい時に使うフラグらしい。

http://en.wikipedia.org/wiki/Transmission_Control_Protocol

PSH (1 bit) – Push function. Asks to push the buffered data to the receiving application.”

他のサイトへのリクエストには”PUSH”はついていなかったし、

こちらからのリクエストに”PUSH”をつけるようにどうやって制御してるんだろ。

 

Server: GFE/2.0

ネットワークの勉強中に発見があったのでメモ

telnetでgoogleのサーバへHTTPアクセスして

HEADメソッドで要求を送ったときのこと

$ telnet google.com 80
Trying 173.194.117.169…
Connected to google.com.
Escape character is ‘^]’.
HEAD / HTTP/1.1 <- 入力

HTTP/1.1 302 Found
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Location: http://www.google.co.jp/?gfe_rd=cr&ei=iJAfVJ6hJIPN8geU44BA
Content-Length: 259
Date: Mon, 22 Sep 2014 02:59:20 GMT
Server: GFE/2.0  <- ここ!!
Alternate-Protocol: 80:quic,p=0.002

“Server: GFE/2.0”??

調べてみると”GFE = Google Front End”の意味らしく

googleがカスタマイズして高速化したApacheらしい

Server: GFE/2.0 (GFE;Google Front End)

ちなみにyahooはnigixでした

© 2018 ats-min.com

Theme by Anders NorenUp ↑