Subscribed unsubscribe Subscribe Subscribe

pip3 install scapy-python3 でパケットに恋したい。 紹介編

python scapy

はじめに

Yo!Yo!おれはTCPラッパーだYo!注意書きとか仰々しく書いてたら全部消えたのでもう嫌だYo!いえぃ!!あぁあああい!!!

あ、今回はscapyのちょっとした使い方について…。

環境構築

Ubuntu 14.04.3

python3.4

pip 1.5.4

pip3 install scapy-python3

 と記述すれば終わりです。

今回やりたいこと

任意のパケットを生成して送信する。これが出来るようになればフォーマットなど考えずにネットワークの基本的な検証がpingに頼らず出来たりする。

 こんなことが出来るので悪用はダメ..。

 

生成術

>>> Ether()/IP()/TCP()
<Ether type=IPv4 |<IP frag=0 proto=tcp |<TCP |>>>

で基本的には生成できる。

Ether():L2

IP():L3

TCP():L4

 の情報を記述していけば基本的にはよい

 

他にもsend() sendp() sendpfast()やsr()系で送信できたりする。

個人的にはsend()を使うことが多い…。

 

無敵なコマンドlsについて

どの値をぶち込めばいいか分からないときは

ls()コマンドという便利なものがあるので解決できるので積極的に使っていこうな…。

>>> ls(Ether)
dst : DestMACField = (None)
src : SourceMACField = (None)
type : XShortEnumField = (36864)

他にもARP()、NTP()、HSRP()などみんなが大好きなプロトコルに対応している。

Dot1Qにも対応してるしL2、L3は結構、対応してくれている。

 

参考URLに公開されてるコードを上げているので読めばどうすれば分かるので読みましょう!!

 

明日、いろいろ遊んだ進捗報告するので今日はここまで(眠い!!)

 

参考URL

https://github.com/phaethon/scapy