Sun, 23 Jun 2013 08:01:47 +0000: Re: [shlug] libpcap抓包疑问 - Shanghai Linux User Group
首先函数里多个参数的估值顺序应该是由编译器决定的。C/C++标准都不对此规
定。在x86平台上,使用栈传递参数,从右到左压栈(除非使用一些其他的调用规
范;可参见:http://en.wikipedia.org/wiki/X86_calling_conventions)。所
以,一般参数的估值顺序也是从右到左,但程序员不应该依赖这样的顺序。
Sun, 23 Jun 2013 07:56:47 +0000: Re: [shlug] libpcap抓包疑问 - Shanghai Linux User Group
函数调用里面参数的计算顺序是不确定的,也就是
inet_ntoa(ip->ip_src)
inet_ntoa(ip->ip_dst)
这两句谁先谁后执行是不确定的
Sun, 23 Jun 2013 07:11:52 +0000: Re: [shlug] libpcap抓包疑问 - Shanghai Linux User Group
谢谢,还有一点没理解……请指点The string is returned in a statically allocated buffer, which subsequent
calls will overwrite.
应该是说后面的调用会覆盖返回的静态缓存中的数据
Sun, 23 Jun 2013 06:30:41 +0000: Re: [shlug] libpcap抓包疑问 - Shanghai Linux User Group
为啥用本地栈就有破坏性?难道不是用全局栈才有破坏性的么
2013/6/23 none_nobody <lyx...@gmail.com>:
Sun, 23 Jun 2013 05:39:00 +0000: Re: [shlug] libpcap抓包疑问 - Shanghai Linux User Group
或者不可重入是错的(不是多线程的可重入),应该说是,intoa利用本地栈,具有破坏性。
Sun, 23 Jun 2013 04:53:24 +0000: Re: [shlug] libpcap抓包疑问 - Shanghai Linux User Group
应该说是 glibc 里 intoa 具有不可重入性,需要按以下的方法自己写一个。
/*
* given a packet, print a decode of via tcpdump
*/
char * xintoa (struct in_addr addr, char *buf, u_short bufLen) {
char *cp, *retStr;
u_int byte;
int n;
cp = &buf[bufLen];
*--cp = '\0';
n = 4;
do {
byte = addr.s_addr & (0xff << 24);
byte >>= 24;
Sun, 23 Jun 2013 04:49:53 +0000: Re: [shlug] libpcap抓包疑问 - Shanghai Linux User Group
根据楼上的说法,应该是缓存问题了。。。
Sun, 23 Jun 2013 04:45:00 +0000: Re: [shlug] libpcap抓包疑问 - Shanghai Linux User Group
The inet_ntoa() function converts the Internet host address in,
given
in network byte order, to a string in IPv4 dotted-decimal
notation.
The string is returned in a statically allocated buffer, which
subse‐
quent calls will overwrite.
2013/6/23 Bamboo Hui <bamboo...@gmail.com>
Sun, 23 Jun 2013 02:21:25 +0000: libpcap抓包疑问 - Shanghai Linux User Group
试着用libpcap的API抓包玩,代码如下,在打印IP header中的源地址和目标地址时(加粗语句),
不同的输出方式打印出来不同的结果,十分不解,求指教。
为什么用两个printf分别打印源地址和目标地址时,源和目标是不同的(期望值)?而在一个printf中打印输出的源和目标却是相同的?
(CentOS 6.4 x64, gcc 4.4.7)
输出结果为:
SRC: 192.168.122.13
DST: 192.168.122.1
src: 192.168.122.13
dst: 192.168.122.13
SRC: 192.168.122.13
DST: 192.168.12
Fri, 21 Jun 2013 08:07:42 +0000: Re: [shlug] 怎么发现网络拓扑 - Shanghai Linux User Group
找个周末一根一根拔,然后贴标签,没啥办法
在 2013年6月21日下午4:02,Bamboo Hui <bamboo...@gmail.com>写道:
Fri, 21 Jun 2013 08:02:49 +0000: 怎么发现网络拓扑 - Shanghai Linux User Group
刚到公司,公司的网络没有拓扑结构图,交换机的线接的密密麻麻的,看不清线路是怎么接到交换机上的。求指教,有没有什么办法可以作出公司的整个网络拓扑?因为用的都TP-LINK或D-Link二层交换机,基本都没有console口,所以可能需要用软件的办法为解决,
谢谢!
Wed, 19 Jun 2013 14:43:30 +0000: Re: [shlug] 有没有人来谈谈家用NAS下大家的备份策略? - Shanghai Linux User Group
mark同问备份方案。
在 2013年6月19日下午9:00,Steven Shi <steven...@gmail.com>写道:
Wed, 19 Jun 2013 13:00:59 +0000: 有没有人来谈谈家用NAS下大家的备份策略? - Shanghai Linux User Group
家里有一台HP N40L,装的是ArchLinux,带4个硬盘槽,只支持RAID0和RAID1.
现在一块2T硬盘,用了1T左右.但感觉这样储存太不安全了,准备再安装一块硬盘
想听听大家平时是怎么在linux下做备份的,是用RAID呢?还是夜间自动备份比如rsync什么
因为考虑RAID的话,误删除还是会导致数据丢失,是不是自动备份会比较好一些?
暂不考虑火灾水灾地震等灾难
还有我碰到的问题顺便问一下,比如我再买块2T硬盘,如果建RAID1,必须要format,那我数据没地方放了,是不是必须买两块2T硬盘,把数据拷出去,建好raid再拷回来才行?
Mon, 17 Jun 2013 05:48:05 +0000: Re: [shlug] 一道算法题,怎么也想不出来怎么把结果算成标准答案 - Shanghai Linux User Group
你的算法怎么觉得是无穷递归的?ds一直除以2啊。
但是你使用了int型,这样以来就不符合题意了。这种问题还是永数学方法解吧。
2013/6/17 Q Zhongyu <snows...@gmail.com>
Mon, 17 Jun 2013 05:37:45 +0000: 一道算法题,怎么也想不出来怎么把结果算成标准答案 - Shanghai Linux User Group
/* 半径为r的黒圆,里面有个半径r/2的白圆,白圆里又有一个半径为r/4的黒圆,
此黒圆里又有一个半径为r/8的白圆入错重复下去,问黑色部分的面积为多少?
*******************************************************************************************
标准答案输入 2 输出 4pi 下面是我的算法
*/
# include <stdio.h>
int sm(int ds,int sum,int flag);
int main(){
int r;
printf("请输入圆的半径:");
scanf("%d"
]]>