筆記























⑬IPv6
Windows:


netsh interface ipv6 add address "ローカル エリア接続" 2012::102
netsh interface ipv6 delete address "ローカル エリア接続" 2012::102


Linux:


[IPv4]
<1>ifconfig eth0:1 192.168.88.99 netmask 255.255.255.0
   ifconfig eth0:1 up | down //激活或關閉設備eth0
   route add default gw 192.168.88.1 //配置默認網關
<2>vi /etc/sysconfig/network-scripts/ifcfg-eth0 //修改IP地址
   vi /etc/sysconfig/network //修改網關
   vi resolv.conf        //修改DNS
   /etc/init.d/network restart //重啓網絡配置
   service network restart
<3>ifconfig eth0:1 192.168.88.108 del


[IPv6]
ifconfig eth0 inet6 add 2001:db8:290c:1291::89 up
ifconfig eth0 inet6 del 2001:db8:290c:1291::892001:db8:290c:1291::89


Unix:


ifconfig lan0 inet6 up
ifconfig lan0:1 inet6 2001:db8:290c:1291::23

使用例:

./monitor.sh /opt/UMF/Operations/Manager/bin/NvPROBaseMgr 60 NvPROBaseMgr_log.csv
./monitor.sh /opt/UMF/Operations/Manager/bin/SysMonMgr 60 SysMonMgr_log.csv


nvaCreateNodeMgr.exe TEst -rulestatus On -getcomm public -ipv4 172.28.140.102 -r 1 1000

NVT_nvaSetMgr.exe TEst 11.1.8.0 172.20.30. -r 1 1000 -v 151 251
NVT_nvaSetMgr.exe TEst 11.1.46.0 ffff-ffff-ffff-fffe -r 1 3000




baptost.exe 1.3.6.1.2.1




NvPROAmibGetMgr NodeName AmibName
[INTEGER 13.1]
[DisplayString 11.1.1]


ICMP情報(icmpmib)
IPv4: NvPROAmibGetMgr node:* 13.1
IPv6: NvPROAmibGetMgr node:* 20.1


nvpalertsend.exe -level


トラップ「Trap」
linkDown: 1.3.6.1.6.3.1.1.5.3
linkUp: 1.3.6.1.6.3.1.1.5.4


mv abc /home/wy/Desktop/將當前目錄下的abc文件夾移動到/home/wy/Desktop/ 目錄下
AS5-117 src # rm -rf compile                    
      1 find . -name "*" -type d -exec rm -rf {} ツ・;    查找
      2 cp -p libNvPROBaseAPIMgr.so libNvPROBaseAPIMgr.so.ORG    備份
      3 cp -p libNvPROBaseAPIMgr.so /opt/UMF/Operations/Manager/bin     拷貝到 安裝目錄下
      4 
      5 ps -ef|grep Mgr |grep -v grep            查找 運行服務的PID
NvPROBaseMgr  




 在安裝目錄下 
nvstop
ps -ef |grep NvPROBaseMgr
nvset
gdb NvPROBaseMgr


◆ 安裝和登錄命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
◆ 文件處理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
◆ 系統管理相關命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;
◆ 網絡操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;
◆ 系統安全相關命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;
◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。




 MainAddress:obj.cmn.cmnMainAddress
 IFアドレス:11.1.31.3.1.1 


HP 抓包
nettl -tn all -e ns_ls_icmp -f /tmp/tcpdump
nettl -tf -e all
Linux抓包
tcpdump 
 


   -v 3 -u myv3 -l authNoPriv -A authpass123 -C f 172.28.140.64 1.3.6.1.2.1.1.5.0
export LANG=ja_JP.utf8




5.0 之前版本安裝  要搞DB 在已經安裝server2005 的情況下
需要以下操作


-v 3 -u myv3 -l authNoPriv -A authpass123 -C i -e 80001f8880613e0000a251ff5000000000 172.28.140.40 .1.3.6.1.6.3.1.1.5.3 ifIndex
{
}
Administrator




8000007708417a0000e5855f52


清除 安裝的文件
cd /etc/
rm -rf FW_Registry/


snmp:
PUD:The snmp protocol data unit.


pkill -9 testv3.sh


gdb 
gcc -o test -g test,c
gdb test -c test.c


gdb 調試CORE 文件 bt (wingdb kb)


snmptrap -W10 -G 1 -v 3 -u snmpuser -C i -l authPriv -A 12345678 -X 12345678Array -a MD5 -e 8000007708417a0000e5855f52 172.28.140.66  0 1.3.6.1.4.1.119 1.3.6.1.4.1.119 s 1234567890


tar czvf nec.tgz nec
sftp 172.28.140.49
tar xzvf nec.tgz nec


nv66-64 opt # tar czvf nec.tgz nec^C
nv66-64 opt # sftp 172.28.140.49
Connecting to 172.28.140.49...
[email protected]'s password:
sftp> cd /
sftp> cd /opt
sftp> put nec.tgz
Uploading nec.tgz to /opt/nec.tgz
nec.tgz                                                 
sftp> quit
nv66-64 opt # ssh 172.28.140.49
[email protected]'s password:
Last login: Wed Apr 16 11:11:01 2014 from 172.28.140.102
rh5 ~ # cd /opt


 grep -rn "hello,world!" ./    查找字符串
新規amib定義文件 加到public 目錄下面,


 ulimit -c  unlimited  //當前目錄輸入core文件




HP 調試NvPROBaseMgr 要 nvset一下
valgrind --tool=memcheck --leak-check=full ./test


reateUser snmptopwalkv3 MD5 "1qa2ws3ed4rf5tg" DES snmp
adding the following line to /etc/snmp/snmpd.conf:


snmpinform -v 3 -u snmpuser -l noAuthnoPriv -e 8000007708417a0000e5855f52 172.28.140.40  0 1.3.6.1.4.1.119 1.3.6.1.4.1.119 s 1234567890






-------------------------------------
SVN 命令
svn checkout URL


對於新加的文件要先add 再 commit
svn add .
svn commit -F /opt/LOG.txt  .


查看文件狀態
svn status


更新本地代碼
svn update .


刪除服務器上的文件
svn delete  XXXX


$ svn delete myfile
D         myfile
$ svn commit -m "Deleted file 'myfile'."
Deleting       myfile
Transmitting file data .
Committed revision 14.




-------------------------------------


export MALLOC_CHECK_=3


valgrind --tool=memcheck --leak-check=full NVT_SampleAPMgr_Linux "unicode (utf-8)" 65001




---------------
#99bug




ifconfig lan0:1 up
ifocnfig lan0 up


route add default gw 172.28.140.1
---------------


--------------------------------------------------------------------
HP-UX network config
bash-4.2# ifconfig lan0
lan0: flags=1843<UP,BROADCAST,RUNNING,MULTICAST,CKO>
        inet 172.28.138.23 netmask ffffffe0 broadcast 172.28.138.31
lan0: flags=4800841<UP,RUNNING,MULTICAST,PRIVATE,ONLINK>
        inet6 fe80::1  prefix 10
bash-4.2# ifconfig lan0:!
invalid interface name lan0:!
bash-4.2# ifconfig lan0:1
lan0:1: flags=1843<UP,BROADCAST,RUNNING,MULTICAST,CKO>
        inet 172.28.138.35 netmask ffffffe0 broadcast 172.28.138.63
bash-4.2# ifconfig lan0:1 up
--------------------------------------------------------------------
SJIS
 Windows : CP932の範囲(參考:http://charset.uic.jp/show/cp932/)
 Linux  : Shift-JISの範囲(參考:http://charset.uic.jp/show/shift_jis/)
 HP-UX  : Shift-JISの範囲(參考:http://charset.uic.jp/show/shift_jis/)


EUC-JP
 Windows : CP51932の範囲(參考:http://charset.uic.jp/show/cp51932/)
      F9A0~FCFFが未サポート
 Linux  : CP20932の範囲(參考:http://charset.uic.jp/show/euc-jp/)
 HP-UX  : CP20932の範囲(參考:http://charset.uic.jp/show/euc-jp/)


JIS X 0213-2000とJIS X 0213-2004が未サポートです。


///Log 




DWORD LOG_OUT (
PNVSOCKMSG som, //ソケットメッセージ
int cmd, //コマンド番號
LPNVDNODE reqdp, //要求パケット
LPNVDNODE *rspdpp //応答パケット
)
{
DWORD dwError = 0;
int fd, len;
char* g_bufGet= NULL;
//long len = 0;
FILE* fpGet = NULL;


if (som == NULL || cmd != AMMC_LOG || reqdp == NULL || rspdpp == NULL) {
dwError = NV_EBADARG;
goto done;
}


g_bufGet = (char*)calloc(1, 100);
if (g_bufGet == NULL) {
goto done;
}


fpGet = fopen("/opt/snmp_receive_data.txt", "a+");
  if (fpGet == NULL) {
  goto done;
  }


sprintf(g_bufGet, "snmp_trap_receive: %llu MSEL, g_dwCountGet:%d\n", g_cGet, g_dwCountGet);
  dwError = fwrite(g_bufGet, strlen(g_bufGet), 1,  fpGet);
  fflush(fpGet);
fclose(fpGet);


  free(g_bufGet);
  g_bufGet = NULL;


g_dwCountGet = 0;
g_cGet = 0;


done:
//LOG 0UT
return 0;


}
static LONGLONG g_cGet = 0;
static DWORD g_dwCountGet = 1000;
static FILE *fpGet = NULL;
static char* g_bufGet= NULL;




void test()
{
#ifndef WIN32
//hejian
long long L1 = 0, L2 = 0;
timeval tv;
#endif




#ifndef WIN32
//hejian
if (g_bufGet == NULL) {
g_bufGet = (char*)calloc(1, 30);
}
if (fpGet == NULL) {
fpGet = fopen("/opt/snmp_receive_data.txt", "a+");
}
gettimeofday(&tv,NULL);
L1 = tv.tv_sec*1000*1000 + tv.tv_usec;
#endif


//////////////////////////////
/////////////////////////////
/////////////////////////////
do something
//////////////////////////////
////////////////////////////


//hejian
#ifndef WIN32
gettimeofday(&tv,NULL);
L2 = tv.tv_sec*1000*1000+tv.tv_usec;
g_cGet += (L2 -L1);
g_dwCountGet--;
if (g_dwCountGet == 0) {
sprintf(g_bufGet, "snmp_trap_receive: %llu MSEL\n", g_cGet);
if (fpGet) {
fwrite(g_bufGet, 50, 1,  fpGet);
fclose(fpGet);
fpGet = NULL;
free(g_bufGet);
g_bufGet = NULL;
}
g_dwCountGet = 1000;
}
#endif


}


//////////////////////////////////////
4MIB   (iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.2008.*)是加到public/amib文件夾中的數據
NVT_nvaAsyGetSvc node:* iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.2008.*,iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.2009.*,iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.2010.*,iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.2011.* -silent -super
//////////////////////////////////////




windbg
SRV*E:\windbg\Symbol\SysSymbol*http://msdl.microsoft.com/download/symbols;srv*;E:\windbg\Symbol\UserSymbol
1 啓動windbg,加載BadAces.exe
          File->Open Executable


2 運行和暫停
運行:輸入g
暫停:Ctrl+Break  或 Debug->Break命令


3 設置端點
       bu 函數名  或者
       bp addr


4查看棧信息
        k   -- 棧信息
        kp -- 顯示棧和類型信息
        kb --顯示棧和參數
        .frame # --- 到具體某個棧,#棧號
!address  -- 查看內存頁信息
           例. !address eax
!analyze -v 擴展顯示當前異常的詳細信息


!peb  ---- 打印 程序加載各個模塊的內存地址
ln  地址  ----- 顯示該地址對應的函數名稱
____________________________________________
進程間通信(ipc)
進程間通信信息查看命令:ipcs 
____________________________________________




/////網絡延時設置/////
①清空已有iptables配置,執行下面的命令
  iptables -F
②使Linux報文轉發功能開啓,執行下面命令
  echo 1 > /proc/sys/net/ipv4/ip_forward
③設定iptables,開啓nat地址轉換功能,執行下面命令
  iptables -t nat -A POSTROUTING  -o br-ex -s 10.1.1.0/24 -j MASQUERADE
④使用tc命令控制流量(網絡延遲)
  tc qdisc add dev eth1 root netem delay 1ms
注:
  A:機器有兩塊網卡eth0和eth1,這裏br-ex是eth0的橋接(看做等同就可以了,openstack用)
    eth0:172.28.140.4/24
    eth1:10.1.1.104/24
  B:上面1ms是1毫秒,可根據實際情況改變設置。


■SVC使用方法說明
①SVC所在機器ip地址配置成10.1.1.0/24網段
  例如: 10.1.1.100 255.255.255.0
②配置缺省網關爲10.1.1.104




windows 停止服務命令
net stop mysql
net start mysql


------------------------
gdb 打印完整字符串
set print element 0
print src
------------------------


7、結構體的sizeof
   struct S1
   {
      char c;
      int i;
   };
   問sizeof(s1)等於多少聰明的你開始思考了,char佔1個字節,int佔4個字節,那麼加起來就應該是5。是這樣嗎?你在你機器上試過了嗎?也許你是對的,但很可能你是錯的!VC6中按默認設置得到的結果爲8。
   這是因爲結構體遵循字節對齊原則,爲什麼需要字節對齊?計算機組成原理教導我們這樣有助於加快計算機的取數速度,否則就得多花指令週期了。
   爲此,編譯器默認會對結構體進行處理(實際上其它地方的數據變量也是如此),讓寬度爲2的基本數據類型(short等)都位於能被2整除的地址上,讓寬度爲4的基本數據類型(int等)都位於能被4整除的地址上,以此類推。
   這樣,兩個數中間就可能需要加入填充字節,所以整個結構體的sizeof值就增長了。
字節對齊的細節和編譯器實現相關,但一般而言,滿足三個準則:
(1) 結構體變量的首地址能夠被其最寬基本類型成員的大小所整除;
(2) 結構體每個成員相對於結構體首地址的偏移量(offset)都是成員大小的整數倍,如有需要編譯器會在成員之間加上填充字節(internal adding);
(3) 結構體的總大小爲結構體最寬基本類型成員大小的整數倍,如有需要編譯器會在最末一個成員之後加上填充字節(trailing padding)。
由於結構體的成員可以是複合類型,比如另外一個結構體,所以在尋找最寬基本類型成員時,應當包括複合類型成員的子成員,而不是把複合成員看成是一個整體。但在確定複合類型成員的偏移位置時則是將複合類型作爲整體看待。
這裏敘述起來有點拗口,思考起來也有點撓頭,還是讓我們看看例子吧:
   struct S3
   {
      char c1;
      S1 s;
   char c2
   };


S1的最寬簡單成員的類型爲int,S3在考慮最寬簡單類型成員時是將S1“打散”看的,所以S3的最寬簡單類型爲int,這樣,通過S3定義的變量,其存儲空間首地址需要被4整除,整個sizeof(S3)的值也應該被4整除。sizeof(S3)的值爲16。
到這裏,朋友們應該對結構體的sizeof有了一個全新的認識,但不要高興得太早,有一個影響sizeof的重要參量還未被提及,那便是編譯器的pack指令。它是用來調整結構體對齊方式的,不同編譯器名稱和用法略有不同,
VC6中通過#pragma pack實現,也可以直接修改/Zp編譯開關。#pragma pack的基本用法爲:#pragma pack( n ),n爲字節對齊數,其取值爲1、2、4、8、16,默認是8,
如果這個值比結構體成員的sizeof值小,那麼該成員的偏移量應該以此值爲準,即是說,結構體成員的偏移量應該取二者的最小值,公式如下:


   offsetof( item ) = min( n, sizeof( item ) )
再看示例:
   #pragma pack(push) // 將當前pack設置壓棧保存
   #pragma pack(2)    // 必須在結構體定義之前使用
   struct S1
   {
      char c;
      int i;
   };
   struct S3   
   {
      char c1;
      S1 s;
      char c2
   };
   #pragma pack(pop) // 恢復先前的pack設置


計算sizeof(S1)時,min(2, sizeof(i))的值爲2,所以i的偏移量爲2,加上sizeof(i)等於6,能夠被2整除,所以整個S1的大小爲6。同樣,對於sizeof(S3),s的偏移量爲2,c2的偏移量爲8,加上sizeof(c2)等於9,不能被2整除,添加一個填充字節,所以sizeof(S3)等於10。
注意,“空結構體”(不含數據成員)的大小不爲0,而是1。


----------------------------------------------------------------------------------------------------------------------
關於19上的snmpv3用戶名以及密碼
1.停止snmpd服務
  #service snmpd stop


2.增加snmpv3用戶,並設置認證以及加密方式
nv3 ~ # net-snmp-create-v3-user
Enter a SNMPv3 user name to create:
xiaoye
Enter authentication pass-phrase:
xiaoyepw
Enter encryption pass-phrase:
  [press return to reuse the authentication pass-phrase]
xiaoyepk
adding the following line to /var/lib/net-snmp/snmpd.conf:
   createUser xiaoye MD5 "xiaoyepw" DES xiaoyepk
adding the following line to /etc/snmp/snmpd.conf:
   rwuser xiaoye


   3.啓動snmpd服務
 # service snmpd restart


 現通過snmpwalk測試一下:
# snmpwalk -v3 -uenocsnmpv3 -lauth -aMD5 -A"enocsnmpv3pw" -X"enocsnmpv3pk" localhost  | more
SNMPv2-MIB::sysDescr.0 = STRING: Linux CentOS60A 2.6.32-71.el6.i686 #1 SMP Fri Nov 12 04:17:17 GMT 2010 i686
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::org
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (9443) 0:01:34.43


關於engine ID : 工程環境設定上的是inform 用的。
設備屬性上的是get 用的,用來跟設備上的匹配。


 -e ENGINE-ID          set security engine ID (e.g. 800000020109840301)   這個就是我們發inform 時指定的那個(工程環境設定)
snmpinform -v 3 -u xiaoye -l authPriv -A xiaoyepw -X xiaoyepk -a MD5 -e 8000007708
9d2500009dbb1055 172.28.140.49  0 1.3.6.1.4.1.119 1.3.6.1.4.1.119 s 1234567890


-E ENGINE-ID          set context engine ID (e.g. 800000020109840301)    get 用   
---------------------------------------------------------------------------------------------------------------------------


gdb 斷點
break 46 if testsize==100


-----------------------
wireshark 抓包
-----------------------


ip.src == 192.168.0.1
ip.dst == 192.168.0.1
ip.addr == 192.168.0.1
排除以上的數據包,我們只需要將其用括號囊括,然後使用 "!" 即可。
表達式爲:!(表達式)


(1)捕獲某一端口的數據包
           表達式爲:tcp.port == 80
(2)捕獲多端口的數據包,可以使用and來連接,下面是捕獲高端口的表達式
           表達式爲:udp.port >= 2048
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章