Archive for 3月, 2016

コンパイルしたバイナリファイルがiOSのどのバージョンから対応をしているのかを調べる方法。

otool -l <binary file>  | fgrep --after-context=2 LC_VERSION_MIN

まず、普通にXCodeを使っている人には入らないと思うが・・・

開発をしていると、どうしてもネットワークの設定をいじれない事がある。
だからと言って、今、この時だけ・・・・その設定相当の事がでればいいだけなのだが・・・・・というケースもある。

そこで、何回続くかわからないが、できればやらない方がいいが、知っておいて損はない開発時のみ使う乗り切り術を紹介します。

今回は、SSHの接続が限定されているサーバに、許されていないサーバから接続する方法です。

単にファイル転送したいだけなのに、何段もサーバを迂回しなければいけなく、すごく、面倒で、これをなんとかしてほしいのに・・・
とか、後は、LAN内で動いている開発サーバなどに、WAN側から接続したい。などの場合です。

まっとうな運用をするのであれば、VPNにするなど有るでしょうが、
今日の今日だけやりたいだけなんですけど・・・・・

という場合には、そこまで大がかりにできません。
そんなときには、LAN側からWAN側にSSHをはって、そのSSH接続にのっかって、逆にWAN側からLAN側に接続する方法です。

まずは、以下の様にしてLAN側からWAN側にSSH接続します。

$ssh -N -R 20001:localhost:22 -p 22 <remote server ip or name> 

ここで、20001というのが、WAN側からLAN側に接続するときのポート番号です。
つまり、22番ポートでWAN側に接続して、WAN側から20001番ポートで逆に接続できるポートを空けるということです。

なので、この接続ができたら、接続したWAN側のサーバに接続して、

$ssh -p 20001 localhost

とすると、localhostに接続しているわけではなく、LAN側に接続しているというわけです。
SSHで公開鍵認証にして、パスワードなしにして・・・・などやればもっといろいろと便利にできる技もありますが、
あまり、普通にやると、ネットワーク管理者も見過ごしておけなくなるので、やり過ぎは禁物です。

とは言うものの、行儀がいいわけではありませんが、開発側だけでなんとかして、と無理難題をいってくる方もいるので、
だったら、やりましょう!ということでこれで乗り切れるケースもあるので、知っておいて損はないでしょう。

Java(少なくとも、*unix系)では、時間情報は基本的にOS側を見るが、
どうしても、OS側を設定せずに、Java側(のRuntime側)でTimezoneを指定したい場合がある。

この場合には、以下のオプションを追加してJavaを起動します。

-Duser.timezone=Asia/Tokyo

VMWare Fusionを使っていると、VMのIPアドレスが変わってしまうので、ちょっとめんどくさい。
そこで、固定のIPを割り振るようにする。

Mac上で以下のファイルを編集することで、IPアドレスの指定ができます。

/Library/Preferences/VMware Fusion/vmnet8/dhcpd.conf

まず、立ち上げたゲストOSのMACアドレスを調べます。
ゲスト上でifconfigなどで、MACアドレスなどを調べましょう。

eth0      Link encap:Ethernet  HWaddr 00:0c:29:3d:80:48  
          inet addr:192.168.24.172  Bcast:192.168.24.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe3d:8048/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:170 errors:0 dropped:0 overruns:0 frame:0
          TX packets:204 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:22177 (22.1 KB)  TX bytes:29629 (29.6 KB)

MACアドレスが分かったら、先ほどのdhcpd.confに以下のように追加します。

host vmnet8-ubuntu {
	hardware ethernet 00:0C:29:3D:80:48;
	fixed-address 192.168.24.172;
	option domain-name-servers 0.0.0.0;
	option domain-name "";
	option routers 0.0.0.0;
}

それで、ゲストを落として、VMWare Fusionを落として、再度立上げ直せば、IPが固定になるはずです。

お仕事のご依頼・相談
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら
ソフトウェア&ライブラリ




ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
執筆書籍
本、雑誌等

WEB記事:CodeZine
執筆記事はこちら
カレンダー
2016年3月
« 2月   4月 »
 123456
78910111213
14151617181920
21222324252627
28293031  

カスタム検索
RSS
Add to Google < !–adsense–>
アーカイブ
カテゴリ
にほんブログ村 IT技術ブログへ