エミュレータでパケットキャプチャ
2011-02-01-1 / カテゴリ: [command][network][Android] / [permlink]
ホストPCやサーバ側でキャプチャできない環境の場合、エミュ自身の内蔵tcpdumpでキャプチャ可能。
多分使う機会はホストがwindowsで、ホスト自身で動かしてるサーバへアクセスする際のキャプチャくらいかね。(リモートならEthereal使えば良し)
基本は
-s 0 は、未指定だとデフォルトキャプチャサイズが96bytesになり、キャプチャ漏れが発生するので、適当に指定すればよし。0指定だと65535byteになる。
-X は指定なしだと訓練されていないと読めない(笑)
port 80 の部分は、キャプチャのフィルタ条件。指定がないとidleでも結構パケットが飛んでいるので、見たいパケットが見えなくなる。
"port 80" で 80/TCP の全てのパケット
"host jp-z.jp" で、jp-z.jp との全パケット
"port 80 and host jp-z.jp" で↑のand
「コマンドラインじゃわからん!wiershark/etherealで見たいんだ!」な場合は
あとはググッてねん。
ちなみに停止の^Cで、シェルごとなぜか抜けてしまうので、PCのシェル(コマンドライン)上で
実機だとpermission deniedになる。うーん、rootな端末もあった方が良いのかも。
多分使う機会はホストがwindowsで、ホスト自身で動かしてるサーバへアクセスする際のキャプチャくらいかね。(リモートならEthereal使えば良し)
基本は
# tcpdump -s 0 -X port 80など。
-s 0 は、未指定だとデフォルトキャプチャサイズが96bytesになり、キャプチャ漏れが発生するので、適当に指定すればよし。0指定だと65535byteになる。
-X は指定なしだと訓練されていないと読めない(笑)
port 80 の部分は、キャプチャのフィルタ条件。指定がないとidleでも結構パケットが飛んでいるので、見たいパケットが見えなくなる。
"port 80" で 80/TCP の全てのパケット
"host jp-z.jp" で、jp-z.jp との全パケット
"port 80 and host jp-z.jp" で↑のand
「コマンドラインじゃわからん!wiershark/etherealで見たいんだ!」な場合は
# tcpdump -s 0 -w /mnt/sdcard/capture.cap port 80でキャプチャ結果をファイルへ出力できるので、DDMSのファイルエクスプローラで取り出して見ればOK
あとはググッてねん。
ちなみに停止の^Cで、シェルごとなぜか抜けてしまうので、PCのシェル(コマンドライン)上で
% adb -s emulator-5554 shell tcpdump -s 0 -w /mnt/sdcard/capture.cap port 80 and host jp-z.jpとした方が良いかも知れん。
実機だとpermission deniedになる。うーん、rootな端末もあった方が良いのかも。
ネットワークバイトオーダへの変換
2006-03-13-1 / カテゴリ: [network][programming][c] / [permlink]
htonl ... long int htonl(long int hostLong) /* host to network long */ようやく「読める」ようになった.
htons ... short int htons(short int hostLong) /* host to network short */
ntohl ... long int ntohl(long int netLong) /* network to host long */
ntohs ... short int ntohs(short int netLong) /* network to host short */
参考: TCP/IP ソケットプログラミング C言語編
: struct sockaddr_in server; : : server.sin_addr.s_addr = htonl(INADDR_ANY); server.sin_port = htons(PORT); :
ルーティングの表示・変更
2006-03-02-1 / カテゴリ: [win][command][network] / [permlink]
表示
Destination: 172.26.0.0 / Netmask: 255.255.0.0 の Gateway を 192.168.1.1 として追加
↑の Gateway を 10.0.0.1 に変更
↑の設定を削除
add と change は実際に経路がないと設定できないっぽい(XP SP2)
> route print または > netstat -r : =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.100 20 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 192.168.1.0 255.255.255.0 192.168.1.100 192.168.1.100 20 192.168.1.100 255.255.255.255 127.0.0.1 127.0.0.1 20 192.168.1.255 255.255.255.255 192.168.1.100 192.168.1.100 20 224.0.0.0 240.0.0.0 192.168.1.100 192.168.1.100 20 255.255.255.255 255.255.255.255 192.168.1.100 192.168.1.100 1 255.255.255.255 255.255.255.255 192.168.1.100 3 1 Default Gateway: 192.168.1.1 =========================================================================== :
Destination: 172.26.0.0 / Netmask: 255.255.0.0 の Gateway を 192.168.1.1 として追加
> route add 172.26.0.0 mask 255.255.0.0 192.168.1.1
↑の Gateway を 10.0.0.1 に変更
> route change 172.26.0.0 mask 255.255.0.0 10.0.0.1
↑の設定を削除
> route delete 172.26.0.0
add と change は実際に経路がないと設定できないっぽい(XP SP2)
NetBIOS名の名前解決
2005-12-25-2 / カテゴリ: [win][command][network] / [permlink]
[2004-06-18]
って,中途半端にしか書いてない...(しかもリンク切れ)
http://www.atmarkit.co.jp/fwin2k/win2ktips/378findip/findip.html
(2006-03-03 追記)
オプション足らず…
って,中途半端にしか書いてない...(しかもリンク切れ)
http://www.atmarkit.co.jp/fwin2k/win2ktips/378findip/findip.html
> nbtstat -a cheddar > nbtstat -cで Go
(2006-03-03 追記)
オプション足らず…
dnsキャッシュのクリア
2005-12-25-1 / カテゴリ: [win][command][network] / [permlink]
書いてなかったのでメモ
> ipconfig /registerdnsDHCP の /renew も同時に行う.
iptables で特定条件のアクセスを別ポートにリダイレクト
2005-08-29-3 / カテゴリ: [linux][network] / [permlink]
アクセス元IP 10.0.0.1 からの 80/tcp へのアクセスを、8080/tcp へリダイレクトするには
このとき、アクセス元IP 10.0.0.1 の 8080/tcp も ACCEPT にしておく必要もある。(DROPではアクセスできない)
# iptables -t nat -A PREROUTING -p tcp -s 10.0.0.1 --dport 80 -j REDIRECT --to 8080
このとき、アクセス元IP 10.0.0.1 の 8080/tcp も ACCEPT にしておく必要もある。(DROPではアクセスできない)
iptables -L で名前解決が遅い
2005-08-29-2 / カテゴリ: [linux][network] / [permlink]
-n をつければ名前解決しない。
netstat -n と同じやね。
netstat -n と同じやね。
stoneで穴掘り(より)
2005-08-25-1 / カテゴリ: [debian][network][SSL] / [permlink]
http://wiki.spc.gr.jp/tunnel/?DigByStone (stoneで穴掘り)
うぁー、ガッコの友達に(随分前に)教えてもらって試しに
あ、(A) の PC のネットワークは外部には全く出れず(名前解決もできない)、http(80,8080), https(443) のみ、(B) を proxy に Internet にアクセスできる、という環境です。で、(A), (B), (C) 全て異なるネットワークにいます。
ちなみに、(C) は debian sarge で、
(A) の win 用の stone は http://www.gcd.org/sengoku/stone/Welcome.ja.html より。
「stone version 2.2e for Win32 OpenSSL 版パッケージ」をダウンロードし、適当なディレクトリに展開し、コマンドプロンプトから実行。
まぁ、ネットワークが違うので、実際に外部に出れるかはわかんないけどね。
05/08/29 追記
出れた :p
うぁー、ガッコの友達に(随分前に)教えてもらって試しに
(A) PC(winXP)つー環境で、(C) を外部のサーバに見立ててやってみたら、見事に (A)->(C) の ssh がアクセスできた…。
↓
(B) 社外アクセス用proxyサーバ(一部の社内サーバにもアクセス可能)
↓
(C) 社内サーバ
あ、(A) の PC のネットワークは外部には全く出れず(名前解決もできない)、http(80,8080), https(443) のみ、(B) を proxy に Internet にアクセスできる、という環境です。で、(A), (B), (C) 全て異なるネットワークにいます。
ちなみに、(C) は debian sarge で、
# aptitude install stoneで、必要なものは揃う。
(A) の win 用の stone は http://www.gcd.org/sengoku/stone/Welcome.ja.html より。
「stone version 2.2e for Win32 OpenSSL 版パッケージ」をダウンロードし、適当なディレクトリに展開し、コマンドプロンプトから実行。
まぁ、ネットワークが違うので、実際に外部に出れるかはわかんないけどね。
05/08/29 追記
出れた :p
telnet コマンドの強制停止
2005-05-19-2 / カテゴリ: [command][network] / [permlink]
telnet 実行中に応答がなくなったとき
> ^]で、telnet プロンプトに切り替わるので
> telnet> quitすれば抜けれる(と良いなぁ)
linux で無線LAN
2004-11-17-1 / カテゴリ: [linux][network] / [permlink]
http://www.le.chiba-u.ac.jp/~aoyama/linux/cf-t2/
http://terasu.cntl.kyutech.ac.jp/~futikawa/linux/memo_wlan.html
必要なものは Windows 用ドライバ
ndiswrapper (debにある?)
wireless-tools (deb)
起動は
http://terasu.cntl.kyutech.ac.jp/~futikawa/linux/memo_wlan.html
必要なものは Windows 用ドライバ
ndiswrapper (debにある?)
wireless-tools (deb)
起動は
# iwconfig wlan0 essid "ESSID" key s:"WEPKEY" # ifup wlan0
IPaddr の計算用モジュール
2004-11-01-3 / カテゴリ: [network][programming][perl] / [permlink]
http://search.cpan.org/~luismunoz/NetAddr-IP-3.21/
use NetAddr::IP ; my $ip = new NetAddr::IP "192.168.175.4/255.255.255.128" ; print "The address is ", $ip->addr, " with mask ", $ip->mask, "\n" ; print "nw is ", $ip->network, "\n" ; print "bc is ", $ip->broadcast, "\n" ; print "range is ", $ip->range, "\n" ; print "first is ", $ip->first->addr, "\n" ; print "last is ", $ip->last->addr, "\n" ; print "mask is ", $ip->masklen, "\n" ; print "num is ", $ip->num, "\n" ;便利!
ifconfig 無差別(promiscuous)プロミスキャスモード
2004-07-08-2 / カテゴリ: [linux][command][network] / [permlink]
有効にする
# ifconfig eth0 promisc無効にする
# ifconfig eth0 -promisc
TeraTerm + TTSSH で ssh ポートフォワーディング
2004-06-14-1 / カテゴリ: [network][win][ssh] / [permlink]
11:44 (zaki) 参考: http://www.media.hiroshima-u.ac.jp/manual/ttssh/portfwd.html
11:44 (zaki) まずは、TeraTermとTTSSHでsshが使えるようにしておく
11:44 (zaki) そのうえで
11:45 (zaki) [setup]->[SSH Forwarding]から
11:45 (zaki) Port Forwardingで[Add]
11:45 (zaki) Forward local port(上の方)にチェックをいれ、
11:46 (zaki) 上のポート番号は、ローカルマシンでLISTENするポートなので自分のマシンで使えるポートを指定(僕は26667/特に意味なし)
11:46 (zaki) 下の to remote machine に、RX-8のアドレス&ircのポート 46667を指定
11:46 (zaki) 入れたら、[OK]
11:47 (zaki) TTSSH: Forwarding Setupも[OK]で抜ける
11:47 (zaki) でもって、一旦[Setup]->[Save setup]でTERATERM.INIを保存する
11:48 (zaki) 最後に、[New connection]で、rx-8にSSH(port22)で普通にSSHログインする
11:48 (zaki) すると、ローカルマシンで26667(僕の場合)でLISTENするので、
11:49 (zaki) LimeChatの設定で、localhost:26667へアクセスする
11:49 (zaki) 以上
Net::Telnetモジュールのエラーハンドリング
2004-04-23-1 / カテゴリ: [programming][network][perl] / [permlink]
login()の失敗などは、デフォルトで 'die' を行っているため、他の処理を行い
たい(ログファイルにイベントを出力して終了とか)場合は、ErrMode を変更す
る必要がある。
(A) new する際に、Errmode を指定する
たい(ログファイルにイベントを出力して終了とか)場合は、ErrMode を変更す
る必要がある。
(A) new する際に、Errmode を指定する
$a = Net::Telnet->new(Timeout => 10, Errmode => "return");(B) new した後に、Errmode を変更する。
$a->errmode("return");以上で、
$return = $telnet->login('user', 'pass');が失敗した際は、$return は undef になる。(成功時はErrmodeに関係なく1)
最終更新時間: 2013-05-02 16:12